1 Dataset

1.1 Boards

library(subselect)
library(glmulti)
## Loading required package: rJava
library(leaps)
## 
## Attaching package: 'leaps'
## 
## The following object is masked from 'package:subselect':
## 
##     leaps
library(lattice)
library(gridExtra)
## Loading required package: grid
library(ggplot2)
library(randomForest)
## randomForest 4.6-10
## Type rfNews() to see new features/changes/bug fixes.
library(MASS)
library(RODBC)
ch = odbcConnect('Hyne',uid='sa',pwd="password12")

mypanel = function(x,y,...) {
  panel.abline(c(0,1), col='grey70', lty=2)
  panel.xyplot(x,y,...)
}

B = sqlQuery(ch, "
             select 
                SWILogNumber,
                g.MOE [E.g], 
                g.Density [den.g], 
                m.swv [v.d.hitman], 
                h.[Density_kg/m3] [den.d.lhg], 
                h.[MOE.cltraw] [E.d.clt], 
                m.pith, 
                m.wane,
                m.bow,
                m.crook,
                m.twist,
                X_Dens [den.d.chh],
                X_Clear [den.d.chh.clear],
                X_DynE [E.d.chh.dyn],
                X_AvgE [E.d.chh.avg],
                X_MOE [E.d.chh.moe],
                X_min [chh.grade.min],
                X_max [chh.grade.max],
                xc, yc
             from (
                select 
                  flitchId, 
                  max(pith) pith, 
                  max(wane) wane, 
                  avg(swv) swv, 
                  avg(bow) bow, 
                  avg(crook) crook, 
                  avg(twist) twist
                from manualMeas group by flitchId
             ) m 
             left join CHHBoards c on c.flitchId=m.flitchId
             left join HyneDryBoards h on h.flitchId=m.flitchId
             left join ecoustic g on m.flitchId=g.flitchId
             left join (
                select 
                  flitchId, 
                  max(SWILogNumber) SWILogNumber 
                from 
                  boardEndImages i, barcode_image bi, boardEndBarcodes b 
                where flitchId is not null and i.id=bi.imageId and bi.barcodeId=b.id group by flitchId
             ) f on f.flitchId=m.flitchId
             left join (
                select FlitchID, avg(boardCentroidX_mm) xc, avg(boardCentroidY_mm) yc
                from boardEndBarcodes b, boardEndImages i, barcode_image bi
                where b.id=bi.barcodeId and i.id=bi.imageId
                group by FlitchID
             ) xy on xy.FlitchID=m.flitchId
             ")
B$pith_wane = paste(B$pith,B$wane)
B$E.d.hitman = B$v.d^2*B$den.d.chh/1e9

# halve the SWV for ridiculosly fast ecoustic velocities
B$v.g = sqrt(B$E.g*1e9/B$den.g)
B$E.g.corrected = B$E.g
ii=!is.na(B$v.g) & B$v.g>4000
B$E.g.corrected[ii] = (B$v.g[ii]/2)^2*B$den.g[ii]/1e9

B$R = sqrt(B$xc^2 + B$yc^2)

B$chh.grade.min = factor(B$chh.grade.min, 
                         ordered=TRUE, 
                         levels=c('NOGRD','MGP10','MGP12'))
B$chh.grade.max = factor(B$chh.grade.max, 
                         ordered=TRUE, 
                         levels=c('NOGRD','MGP10','MGP12'))

1202 boards. 62 not associated with a SWILogNumber.

Note that only 90x40 boards that were manually measured are included in the board dataset, thus excluding:

  • boards of other sizes - dropped in the green mill at sawing time
  • boards that broke during manual measurement

1.2 Logs

L = sqlQuery(ch, "
             select 
               p.*,
               s.*,
               u.SWV [SWV.untrimmed], 
               t.SWV [SWV],
               t.weight,
               3.141592654*4.9/3*(rL*rL+rS*rL+rS*rS) [volume.heart]
             from 
               (select * 
                from logs 
                where SWILogNumber is not null 
                and DateAndTime>'2014-08-31 00:00:00') p
               left join (select * 
                          from logs 
                          where SWILogNumber is not null 
                          and DateAndTime<'2014-08-31 00:00:00') s 
                 on s.SWILogNumber=p.SWILogNumber
               left join yardTrimmed t 
                 on p.SWILogNumber=t.SWILogNumber 
               left join yardUntrimmed u 
                 on p.SWILogNumber=u.SWILogNumber 
               left join (select 
                            l.SWILogNumber, 
                            l.heartwoodDiameter_mm/2000 rL, 
                            s.heartwoodDiameter_mm/2000 rS 
                          from 
                            logends l, 
                            logends s 
                          where 
                            s.SWILogNumber=l.SWILogNumber 
                            and s.logEnd='S' 
                            and l.logEnd='L') h 
                 on h.SWILogNumber=p.SWILogNumber
             order by p.SWILogNumber")
summ <- function(x) {
   return(list(
     avg=mean(x, na.rm=TRUE),
     p50=median(x, na.rm=TRUE),
     p75=quantile(x, 0.75, na.rm=TRUE)
     )) 
}
board.quality.measures = c('E.d.hitman','bow','crook','twist')
for (i in 1:nrow(L)) {
  ii=!is.na(B$SWILogNumber) & B$SWILogNumber==L[i,"SWILogNumber"]
  L[i,"nboards"]=sum(ii)
  L[i,"nboards.complete"]=nrow(na.omit(B[ii,board.quality.measures]))
  L[i,"E.avg"]=mean(B$E.d.clt[ii],na.rm=TRUE)
  L[i,"E.avg.dyn"]=mean(B$E.d.hitman[ii],na.rm=TRUE)
  L[i,"GPa10"]=sum(!is.na(B$E.d.hitman) & B$E.d.hitman>=10 & ii)/sum(ii)
  L[i,"GPa8"]=sum(!is.na(B$E.d.hitman) & B$E.d.hitman>=8 & ii)/sum(ii)
  L[i,"GPa6"]=sum(!is.na(B$E.d.hitman) & B$E.d.hitman>=6 & ii)/sum(ii)
  L[i,"npith"]=sum(ii & (!is.na(B$pith) & B$pith=='y'))
  for (measure in board.quality.measures) {
    for (region in c('','inner','outer')) {
      iregion = rep(TRUE,nrow(B))
      if (region=='inner') {
        iregion = B$R<=100
      } else if (region=='outer') {
        iregion = B$R>100 
      }
      results = summ(B[!is.na(B[,measure])&ii&iregion,measure])
      for (result in names(results)) {
        if (region=='') {
          out <- paste(measure,result,sep="_")
        } else {
          out <- paste(measure,result,region,sep="_")
        }
        L[i,out] = results[[result]]
      }
    }
  }
}

# alternate log metrics
M = read.csv('/home/harrinjj/G/Projects/Hyne/USNR/logs.csv')
re = "(?:.*USNR Image Files/)([^/]+)/(?:tri_cam)?(.+)\\.bin"
M$scanner = gsub(re,"\\1",M$binfn,perl=TRUE)
M$seq = as.numeric(gsub(re,"\\2",M$binfn,perl=TRUE))
swi.log.numbers.in.sawing.order = sqlQuery(ch, "select SWILogNumber as l from logs where SWILogNumber is not null and DateAndTime>'2014-08-31' order by DateAndTime")$l
# deal with the 8 non-trial logs that were on the deck
ii = M$scanner%in%c('HSS','ELI')
M$seq[ii] = M$seq[ii] - 8
ii=M$scanner%in%c('ELI','HSS')&M$seq>0
M$SWILogNumber[ii] = swi.log.numbers.in.sawing.order[M$seq[ii]]
M$scanner[M$scanner=='KEEPBINFILES'] = 'ROY'
H = sqlQuery(ch, "select ID, SWILogNumber from logs where SWILogNumber is not null")
HH=c()
HH[H$ID]=H$SWILogNumber
for (ID in unique(M$seq[M$seq>500])) {
  if (!is.na(HH[ID])) {
    M$SWILogNumber[M$seq==ID] = HH[ID]
    }
}

# prefix everything (except SWILogNumber) with "m_"
for (col in names(M)) {
  if (col=='SWILogNumber') next
  M[,paste("m_",col,sep="")] = M[,col]
  M[,col] <- NULL
}

M = M[!is.na(M$SWILogNumber),]
merge.overwrite <- function(X,Y,by=NULL) {
  if (is.null(by)) {
    by = intersect(names(X),names(Y))
    print(by)
    }
  XY = merge(X,Y,by=by,suffixes=c(".x",".y"),all=TRUE)
  #browser()
  for (col in setdiff(union(names(X),names(Y)),by)) {
    # if col.y exists rename as col and remove col.x (if it exists)
    if (paste(col,".y",sep="")%in%colnames(XY)) {
      XY[,col] = XY[,paste(col,".y",sep="")]
      XY[,paste(col,".x",sep="")] <- NULL
      XY[,paste(col,".y",sep="")] <- NULL
    }
  }
  return(XY)
}
L.royT = L # log metrics computed at time of sawing from the TRIMMED ROY binfiles
# (A) replace all the log metric info with metrics recomputed from the UNTRIMMED ROY scanner binfiles
L.royU = merge.overwrite(L,M[M$m_trimstate=='untrimmed'&M$m_scanner=='ROY',],by="SWILogNumber")
# (B) replace all the log metric info with metrics recomputed from the TRIMMED ELI scanner binfiles
L.eliT = merge.overwrite(L,M[M$m_trimstate=='trimmed'&M$m_scanner=='ELI',],by="SWILogNumber")

##########################
#L = L.royT ##############
#L = L.royU ##############
L = L.eliT ####### Best option as complete and homogenous
##########################

# calibre uses 0 to indicate missing 
L$velocity[L$velocity==0]=NA
L$velocity.1[L$velocity.1==0]=NA

L$hw.vfrac = L$volume.heart / L$volume
L$density = L$weight / L$volume

L$sweep.prod = L$m_sweep1*L$m_sweep2
L$sweep.prod.1 = L$m_sweep1.1*L$m_sweep2.1

L$E.gradient = L$E.d.hitman_avg_inner/L$E.d.hitman_avg_outer

predictors = c('SWV',
  'm_volume','m_led','m_sed',
  'm_a0','m_a1','m_a2','m_taper','m_waist',
  'm_ovality','m_whorliness',
  'm_sweep1','m_sweep2',
  'weight','density',
  'hw.vfrac',
  'sweep.prod')

#log.metrics = setdiff(names(L),c("SWILogNumber","scanner","trimstate","source","seq","fail","origOrient","nslices","dzmax","dzmin","binfn","bindir"))

123 logs. 0 with no missing predictor information.

1.3 Log End Data

Grab underbark, heart/sap boundary and pith data digitized from log end imagery.

D = sqlQuery(ch, "
  select 
    flipbookNumber SWILogNumber, 
    logEnd, 
    e.type, 
    x_mm x, 
    y_mm y 
  from
    LogEndDigitizationPoints p, 
    LogEndDigitizationEdges e, 
    LogEndDigitizations d 
  where 
    p.digitizationId=d.id 
    and e.digitizationId=d.id 
    and e.id=p.edgeID")#  and logEnd='large'")

2 Exploration

2.1 Dataset Sanity & Repair

2.1.1 Log Size

Do the two measures of volume/LED/SED agree?

USNR software writes volume, LED and SED to a database for each log. These are also recomputed from the bin files by ‘logmetrics.py’. Do they match?

Yep, pretty much.

2.1.2 Log SWV

Hitman SWV isn’t available for the last trimmed log (223). Can we use untrimmed hitman swv?

#plot(L$SWV,L$SWV.untrimmed*1000.)
#identify(L$SWV,L$SWV.untrimmed*1000.,L$SWILogNumber)
c=rep('grey70',nrow(L))
c[L$SWILogNumber %in% c(157,183)]='red'
c[L$SWILogNumber %in% c(151)]='blue'
c[L$SWILogNumber %in% c(223)]='green'
tmp=L[,c("velocity","SWV.untrimmed","SWV","velocity.1")]
names(tmp)<-c("calibre.select","hitman.untrm","hitman.trmd","calibre.sawing")
pairs(tmp,col=c,main="Comparison of Log SWV Measures")

As well as log 223, there are three outliers (logs 151,157,183).

Trimmed SWV estimate good for logs 157, 183 (i.e. untrimmed SWV wrong).

Use hitman untrimmed estimate for log 151.

Use hitman untrimmed estimate for log 223.

TODO: re-extract hitman SWV from raw hitman data.

L$SWV[L$SWILogNumber==151] = L$SWV.untrimmed[L$SWILogNumber==151]*1000
L$SWV[L$SWILogNumber==223] = L$SWV.untrimmed[L$SWILogNumber==223]*1000

2.1.3 Log Heartwood

Is the heartwood volume stuff sane?

xyplot(volume.heart ~ volume, L)
xyplot(density ~ I(volume.heart/volume), L, 
       xlab="heart:total volume", ylab="green log density",
       panel=function(x,y,...) {
         print(summary(m<-rlm(y ~ x)))
         panel.xyplot(x,y,...)
         panel.abline(coef(m), col='red')
         })
## 
## Call: rlm(formula = y ~ x)
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -106.145  -20.656   -1.598   21.762  136.072 
## 
## Coefficients:
##             Value     Std. Error t value  
## (Intercept) 1065.5776    7.5791   140.5938
## x           -557.1970   28.9969   -19.2157
## 
## Residual standard error: 32.05 on 121 degrees of freedom

Regression suggests average sapwood density of 1066 kg/m^3, with average heartwood density of 1066-557=509 kg/m^3.

2.1.4 Log Shape Metrics

Why are the shape metrics (m_*) missing for 10 logs?

9 of these logs (198,201,208,195,205,148,194,206,207) were the first put through, maybe the logselect software wasn’t running. The 10th is a log that for some reason couldn’t be matched to Royalty scanner Id (or perhaps no bin file matching that Id was available).

TODO: use metrics computed from bin file, perhaps from another scanner?


How different are log metrics computed at selection and processing time (i.e. before and after being trimmed to 4.9m)?

par(mfcol=c(4,4))
log.shape.metrics = c("m_volume","m_led","m_sed","m_taper","m_waist","m_ovality","m_whorliness","m_a0","m_a1","m_a2","m_sweep1","m_sweep2","sweep.prod")
for (m in log.shape.metrics) {
  plot(formula(paste(m,"~",m,".1",sep="")),L)
  }

For the most part log metrics from the same scanner are similar before and after trimming. Where differences do occur it might be due to:

  • the loss of material
  • discretization error (incl slight difference in positioning)
  • instrument error

2.2 Recovery

plot(nboards ~ m_volume, L)
identify(L$m_volume, L$nboards, L$SWILogNumber, cex=0.8)
## integer(0)

Only one board recovered from log 106.

Two logs with abnormally poor recovery: 126, 192. Either these were sawn to non-90x40 products or gluing was poor and labels were lost.

Exclude these logs from further analysis.

#L = L[!L$SWILogNumber%in%c(106,126,192),]

2.3 Board Stiffness

bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg)],ordered=TRUE) ~ E.d.clt, B)
# and again but with only the best and worst and with individual boards
(worst=L$SWILogNumber[L$E.avg<quantile(L$E.avg,0.1)])
##  [1] 101 106 163 168 179 184 187 193 205 207 214 218 221
(best=L$SWILogNumber[L$E.avg>quantile(L$E.avg,0.9)])
##  [1] 135 137 140 143 154 159 176 190 200 203 206 213 216
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg)],ordered=TRUE) ~ E.d.clt, B,subset=SWILogNumber %in% union(best,worst),
        panel=function(...){
          panel.bwplot(...)
          panel.points(...,col='red')
        }, main="Best and Worst 10% of Logs")

The worst (least stiff) boards are similar across all logs. The best (most stiff) boards howver range from <10 GPa to >15GPa.

Are good logs small?

plot(L$m_volume[order(L$E.avg)], xlab="log rank - average board stiffness", ylab="volume")
plot(L$nboards[order(L$E.avg)], xlab="log rank - average board stiffness", ylab="nboards")

Bad logs tend to be both a little smaller and represented by fewer boards, but the effect is not strong.

2.4 Grade

HyneDry data does not include an explicit log grade.

CHH data does, but only “MGP10” and “MGP12” (and “NOGRD” covers the rest)

summary(B[,c("chh.grade.min","chh.grade.max")])
##  chh.grade.min chh.grade.max
##  NOGRD:531     NOGRD:248    
##  MGP10:469     MGP10:741    
##  MGP12: 96     MGP12:107    
##  NA's :106     NA's :106
addmargins(table(B$chh.grade.min, B$chh.grade.max))
##        
##         NOGRD MGP10 MGP12  Sum
##   NOGRD   248   283     0  531
##   MGP10     0   458    11  469
##   MGP12     0     0    96   96
##   Sum     248   741   107 1096

It is not clear exactly how the CHH grade values relate to measured MOE. Instead lets look at a psuedo-grade.

Note that ‘GPax’ here denotes boards whose average MOE is x GPa or better, which is not the same as having a MGPx grade.

par(mfcol=c(3,1))
hist(L$GPa6, xlim=c(0,1), breaks=c(0:11)/10)
hist(L$GPa8, xlim=c(0,1), breaks=c(0:11)/10)
hist(L$GPa10, xlim=c(0,1), breaks=c(0:11)/10)
xyplot(jitter(L$GPa8,5)~jitter(L$GPa10,5))

Interesting that the 5 best logs if seeking GPa8 include one log that would be in the lower half if you were looking for GPa10.

par(mfcol=c(3,1))
plot(GPa6~ E.avg.dyn, L)
plot(GPa8~ E.avg.dyn, L)
plot(GPa10~ E.avg.dyn, L)

Log average MOE is not necessarily a good predictor of fraction of boards exceeding a particular MOE limit.

How does the fraction GPa10+ vary with log quality? I.e. what is the % of GPa10+ in the worst X% of logs?

par(mfcol=c(1,1))
F=ecdf(L$GPa6)
plot(F)
quantile(L$GPa6, 0.05)
##        5% 
## 0.5038462
quantile(L$GPa6, 0.10)
##       10% 
## 0.5866667

TODO: using a model for log stiffness based on pre-sawing measures, redo this.

2.5 Dynamic v Static

Does it matter if we use Hitman instead of CLT results?

2.5.1 Using hitman and CHH density

bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg.dyn)],ordered=TRUE) ~ E.d.hitman, B)
# and again but with only the best and worst and with individual boards
(worst.dyn=L$SWILogNumber[L$E.avg<quantile(L$E.avg,0.1)])
##  [1] 101 106 163 168 179 184 187 193 205 207 214 218 221
(best.dyn=L$SWILogNumber[L$E.avg>quantile(L$E.avg,0.9)])
##  [1] 135 137 140 143 154 159 176 190 200 203 206 213 216
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$E.avg)],ordered=TRUE) ~ E.d.hitman, B,subset=SWILogNumber %in% union(best.dyn,worst.dyn),
        panel=function(...){
          panel.bwplot(...)
          panel.points(...,col='red')
        }, main="Best and Worst 10% of logs")
intersect(best, best.dyn)
##  [1] 135 137 140 143 154 159 176 190 200 203 206 213 216
intersect(worst, worst.dyn)
##  [1] 101 106 163 168 179 184 187 193 205 207 214 218 221
plot(L$E.avg,L$E.avg.dyn)
plot(rank(L$E.avg),rank(L$E.avg.dyn))

No, we get the same sets of logs as best and worst using either hitman+chh.density or clt for board MOE.

From here on use Hitman and CHH density based board and log average MOE.

2.6 Pith Boards

Do all logs have a similar number of pith-in boards?

plot(L$SWILogNumber, L$nboards, ylim=c(0,max(L$nboards)))
points(L$SWILogNumber, L$npith, col='red')
table(L$npith)
## 
##  0  1  2  3  4 
##  7 43 59 13  1
L$SWILogNumber[L$npith==0]
## [1] 106 115 125 126 147 175 219

Typically 1 or 2 pith boards per log. BUT 7 logs with no pith boards (either not recovered or not properly classified), this might skew which logs appear to be best and worst. One of these seven is also a worst 10% log so probably not an issue.


Is the fraction of pith boards a good predictor of log average stiffness?

xyplot(E.avg.dyn ~ I(npith/nboards), L)

No.

2.7 Board Densities

2.7.1 Different estimators of dry density

pairs(B[,c('den.d.chh','den.d.chh.clear','den.d.lhg'),])

CHH clear (X_Clear) and average (X_Dens) densities are pretty similar.

Use the latter (X_Dens) in conjunction with SWV to estimate MOE.

2.7.2 Green vs dry density

xyplot(den.d.chh ~ den.g, B, group=paste("wane =",wane), auto.key=TRUE)

Most of the incredibly high green density boards are waney. Probably the green mass is good, but the green volume is underestimated.

2.8 Variation with Distance-from-pith

plot(pith ~ R, B)

Wow. There are pith containing boards whose LE position is 140-160 mm from pith at LE.

2.8.1 Density

mypanel = function(...) {
  panel.xyplot(...)
  panel.grid(h=-1,v=-1)
  panel.loess(..., col='red')
}

grid.arrange(
  xyplot(den.g ~ R, B, panel=mypanel, group=wane),
  xyplot(den.d.chh ~ R, B, panel=mypanel, group=wane),
  xyplot(den.d.lhg ~ R, B, panel=mypanel, group=wane),
  ncol=3)

2.8.2 MOE

grid.arrange(
  xyplot(E.g.corrected ~ R, B, panel=mypanel, group=wane),
  xyplot(E.d.chh.dyn ~ R, B, panel=mypanel, group=wane),
  xyplot(E.d.hitman ~ R, B, panel=mypanel, group=wane),
  ncol=3)

2.8.3 Warp

grid.arrange(
  xyplot(bow ~ R, B, panel=mypanel, group=wane),
  xyplot(crook ~ R, B, panel=mypanel, group=wane),
  xyplot(twist ~ R, B, panel=mypanel, group=wane),
  ncol=3)

Most of the plots above exhibit a slope discontinuity between \(R=100\) and \(R=150\) mm.

Lets call boards with \(R<100\) ‘inner’ and those with \(R>100\) mm ‘outer’.

2.9 Intra-Log Variation

2.9.1 Radial

Plot variation of moe, den, bow, crook, twist with R within individual logs

for (p in c("den.g","den.d.chh","E.d.chh.dyn","bow","crook","twist")) {
  print(
    xyplot(formula(paste(p,"~ R | as.factor(SWILogNumber)")), B, group=pith_wane, pch=c(1,19,19,19), main=p)#, auto.key=TRUE)
    )
  }

Some very odd arrangements of pith and waney boards (e.g log 137 where a pith board has R > than a wane board!)

2.9.2 2D

Todo: plot moe, den, bow, crook, twist using glyph size/color/fill over individual log saw patterns

ii = is.finite(B$SWILogNumber) & is.finite(B$xc) & is.finite(B$yc)
for (p in c("den.g","den.d.chh","E.d.chh.dyn","bow","crook","twist")) {
  #B$sf=B[,p]/max(B[,p])
  #xyplot(yc ~ xc | as.factor(SWILogNumber), aspect='iso', B, cex=B$sf, pch=19, subset=is.finite(p))#, cex=p)#, auto.key=TRUE)
  
  # try ggplot2
  B$size=B[,p]
  print(
    ggplot(B[is.finite(B$size) & ii,], aes(xc,yc))
      + geom_point(aes(size=sqrt(abs(size)),col=size,alpha=0.9)) 
      + geom_point(col='black', shape="+") 
      + facet_wrap(~SWILogNumber) 
      + coord_fixed() # achieves aspect='iso'
    + scale_colour_gradientn(colours=rainbow(4))
    + ggtitle(p)
    )
  }

Which logs are well represented?

Plot board positions and digitized large end information.

xyplot(y ~ x | as.factor(SWILogNumber), group=paste(logEnd,type), D, type="l", aspect='iso', 
       panel=function(x,y,subscripts,...){
          panel.grid(h=-1,y=-1)
          log = D$SWILogNumber[subscripts][1]
          ii = B$SWILogNumber==log
          panel.xyplot(B$xc[ii],B$yc[ii],pch=19,col='black', cex=0.5)
          panel.xyplot(x,y,subscripts=subscripts,...)
       })
# and so after much scrutinising...
near.complete.sawpatterns = c(213,217,219,220,221,223,212,210,108,111,125,119,114,128,144,150,154,164,188,186,197)

How is it that some boards fall outside of the large end? e.g. 103. Do I have the rotations correct?

2.10 Log SWV v average Board MOE

mypanel=function(x,y,...){
  #panel.abline(c(0,1), col='grey70', lty=2)
  panel.xyplot(x,y,...)
  m=lm(y ~ x)
  print(summary(m))
  panel.abline(coef(m),col='red')
}
#xyplot(E.avg ~ SWV, L, panel=mypanel) # hitman in yard
#xyplot(E.avg ~ velocity, L, subset=velocity>0, panel=mypanel) # calibre log tool
xyplot(E.avg.dyn ~ SWV, L, panel=mypanel) # hitman in yard
## 
## Call:
## lm(formula = y ~ x)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.5226 -0.6399  0.0464  0.7224  2.8393 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -4.5446846  1.4600138  -3.113  0.00231 ** 
## x            0.0041265  0.0004422   9.331 6.33e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.196 on 121 degrees of freedom
## Multiple R-squared:  0.4184, Adjusted R-squared:  0.4136 
## F-statistic: 87.06 on 1 and 121 DF,  p-value: 6.332e-16
#xyplot(E.avg.dyn ~ velocity, L, subset=velocity>0, panel=mypanel) # calibre log tool

Ugly.

2.11 Warp

2.11.1 Per Log Distributions

bwpanel=function(...){
          panel.bwplot(...)
          panel.points(...,col='red', cex=0.3)
        }
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$bow_p75)],ordered=TRUE) ~ bow, B, panel=bwpanel)
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$crook_p75)],ordered=TRUE) ~ crook, B, panel=bwpanel)
bwplot( factor(SWILogNumber,levels=L$SWILogNumber[order(L$twist_p75)],ordered=TRUE) ~ twist, B, panel=bwpanel)

2.11.2 Correlations

2.11.2.1 Between Log Quality Measures

log.quality.measures = c("E.avg.dyn",
                         "crook_avg","crook_p75","crook_avg_inner","crook_avg_outer",
                         "bow_avg","bow_p75","bow_avg_outer","bow_avg_inner",
                         "twist_avg")
pairs(L[,log.quality.measures], 
      lower.panel=function(x,y,...) {
        usr <- par("usr"); on.exit(par(usr))
        par(usr = c(0, 1, 0, 1))
        ii=is.finite(x) & is.finite(y)
        r <- cor(x[ii], y[ii])
        txt <- format(c(r, 0.123456789), digits = 2)[1]
        #txt <- paste0("r=", txt)
        #cex.cor <- 0.8/strwidth(txt)
        text(0.5, 0.5, txt, cex = 1.8 * abs(r))
})

Average and 75th percentile bow and crook strongly correlated. Consider only average from here on.

2.11.2.2 Log Q vs Predictors

log.quality.measures = c("E.avg.dyn",
                         "crook_avg","crook_avg_inner","crook_avg_outer",
                         "bow_avg","bow_avg_outer","bow_avg_inner",
                         "twist_avg")
plots <- list()
for (l in log.quality.measures) {
  for (p in predictors) {
    plots <- c(plots, list(xyplot(L[,l] ~ L[,p], xlab=p, ylab=l)))
  }
}
do.call(grid.arrange, c(plots, nrow=length(predictors)))

Twist turns out to be surprisingly predictable (see below). Is this due to correlation with stiffness?

xyplot(E.d.hitman_avg ~ twist_avg, L)
summary(lm(E.d.hitman_avg ~ twist_avg, L))
## 
## Call:
## lm(formula = E.d.hitman_avg ~ twist_avg, data = L)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.7408 -0.9521 -0.0143  0.9708  4.0205 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 10.09563    0.22422  45.026  < 2e-16 ***
## twist_avg   -0.34252    0.06032  -5.679  9.5e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.394 on 121 degrees of freedom
## Multiple R-squared:  0.2104, Adjusted R-squared:  0.2039 
## F-statistic: 32.25 on 1 and 121 DF,  p-value: 9.503e-08

3 Modelling

3.1 Stiffness

Find the best linear model for log average MOE.

summary(m <- lm(E.avg.dyn ~ (m_volume+SWV+m_led+m_sed+m_a0+m_a1+m_a2+m_taper+m_waist+m_ovality+m_whorliness+m_sweep1+m_sweep2+weight+hw.vfrac), L, subset=!is.na(L$m_sed)))
## 
## Call:
## lm(formula = E.avg.dyn ~ (m_volume + SWV + m_led + m_sed + m_a0 + 
##     m_a1 + m_a2 + m_taper + m_waist + m_ovality + m_whorliness + 
##     m_sweep1 + m_sweep2 + weight + hw.vfrac), data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.4840 -0.4265 -0.0343  0.4913  1.7277 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -4.835e+00  1.958e+00  -2.469   0.0151 *  
## m_volume     -3.814e+00  5.619e+00  -0.679   0.4988    
## SWV           4.965e-03  3.797e-04  13.075  < 2e-16 ***
## m_led         3.753e-02  2.625e-02   1.430   0.1558    
## m_sed         9.822e-03  1.422e-02   0.691   0.4913    
## m_a0         -5.402e-02  3.274e-02  -1.650   0.1019    
## m_a1          1.065e-01  9.377e-02   1.135   0.2587    
## m_a2         -2.104e-02  1.017e-01  -0.207   0.8365    
## m_taper      -6.958e-01  4.518e-01  -1.540   0.1265    
## m_waist       1.257e+01  5.238e+00   2.399   0.0181 *  
## m_ovality     4.784e+01  1.109e+02   0.431   0.6671    
## m_whorliness -6.084e-01  3.334e-01  -1.825   0.0708 .  
## m_sweep1      1.814e-01  1.404e-01   1.292   0.1991    
## m_sweep2     -1.354e+00  8.082e-01  -1.675   0.0968 .  
## weight        7.223e-03  4.573e-03   1.580   0.1171    
## hw.vfrac     -5.500e+00  1.213e+00  -4.534 1.51e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8278 on 107 degrees of freedom
## Multiple R-squared:  0.7538, Adjusted R-squared:  0.7193 
## F-statistic: 21.84 on 15 and 107 DF,  p-value: < 2.2e-16
summary(m.best <- step(m, direction="both"))
## Start:  AIC=-31.62
## E.avg.dyn ~ (m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + m_sweep1 + 
##     m_sweep2 + weight + hw.vfrac)
## 
##                Df Sum of Sq     RSS     AIC
## - m_a2          1     0.029  73.355 -33.575
## - m_ovality     1     0.127  73.454 -33.410
## - m_volume      1     0.316  73.642 -33.096
## - m_sed         1     0.327  73.653 -33.077
## - m_a1          1     0.883  74.210 -32.151
## - m_sweep1      1     1.144  74.470 -31.720
## <none>                       73.326 -31.624
## - m_led         1     1.400  74.726 -31.297
## - m_taper       1     1.626  74.952 -30.927
## - weight        1     1.710  75.036 -30.789
## - m_a0          1     1.866  75.192 -30.533
## - m_sweep2      1     1.923  75.249 -30.439
## - m_whorliness  1     2.282  75.608 -29.855
## - m_waist       1     3.945  77.271 -27.178
## - hw.vfrac      1    14.089  87.415 -12.006
## - SWV           1   117.154 190.480  83.796
## 
## Step:  AIC=-33.57
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_taper + 
##     m_waist + m_ovality + m_whorliness + m_sweep1 + m_sweep2 + 
##     weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_ovality     1     0.126  73.482 -35.363
## - m_sed         1     0.365  73.721 -34.964
## - m_volume      1     1.030  74.385 -33.860
## - m_sweep1      1     1.116  74.472 -33.717
## <none>                       73.355 -33.575
## - m_led         1     1.413  74.768 -33.228
## - m_a0          1     1.855  75.211 -32.503
## - m_sweep2      1     1.902  75.257 -32.427
## - m_whorliness  1     2.300  75.655 -31.778
## + m_a2          1     0.029  73.326 -31.624
## - weight        1     2.835  76.191 -30.910
## - m_a1          1     3.768  77.124 -29.413
## - m_waist       1     4.457  77.812 -28.320
## - m_taper       1     5.693  79.048 -26.382
## - hw.vfrac      1    15.493  88.849 -12.006
## - SWV           1   117.580 190.936  82.089
## 
## Step:  AIC=-35.36
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_taper + 
##     m_waist + m_whorliness + m_sweep1 + m_sweep2 + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_sed         1     0.398  73.879 -36.699
## - m_volume      1     1.007  74.489 -35.689
## - m_sweep1      1     1.204  74.685 -35.365
## <none>                       73.482 -35.363
## - m_led         1     1.395  74.877 -35.050
## - m_a0          1     1.834  75.315 -34.331
## - m_sweep2      1     2.029  75.511 -34.013
## + m_ovality     1     0.126  73.355 -33.575
## + m_a2          1     0.028  73.454 -33.410
## - m_whorliness  1     2.421  75.903 -33.375
## - weight        1     2.728  76.209 -32.880
## - m_a1          1     3.926  77.408 -30.961
## - m_waist       1     4.618  78.100 -29.866
## - m_taper       1     5.818  79.300 -27.990
## - hw.vfrac      1    15.604  89.086 -13.677
## - SWV           1   117.475 190.957  80.103
## 
## Step:  AIC=-36.7
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a1 + m_taper + 
##     m_waist + m_whorliness + m_sweep1 + m_sweep2 + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_volume      1     1.139  75.018 -36.818
## <none>                       73.879 -36.699
## - m_sweep1      1     1.238  75.118 -36.655
## - m_led         1     1.265  75.145 -36.610
## - m_a0          1     1.438  75.318 -36.328
## - m_sweep2      1     1.851  75.730 -35.656
## + m_sed         1     0.398  73.482 -35.363
## + m_ovality     1     0.159  73.721 -34.964
## + m_a2          1     0.068  73.811 -34.813
## - weight        1     3.080  76.959 -33.676
## - m_whorliness  1     3.336  77.215 -33.267
## - m_a1          1     4.134  78.013 -32.002
## - m_waist       1     4.782  78.661 -30.986
## - m_taper       1     5.829  79.709 -29.358
## - hw.vfrac      1    15.211  89.090 -15.672
## - SWV           1   120.037 193.917  79.995
## 
## Step:  AIC=-36.82
## E.avg.dyn ~ SWV + m_led + m_a0 + m_a1 + m_taper + m_waist + m_whorliness + 
##     m_sweep1 + m_sweep2 + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## <none>                       75.018 -36.818
## - m_sweep1      1     1.238  76.257 -36.804
## - m_led         1     1.293  76.311 -36.716
## + m_volume      1     1.139  73.879 -36.699
## + m_a2          1     0.928  74.090 -36.349
## - m_sweep2      1     1.794  76.812 -35.911
## - m_a0          1     1.823  76.842 -35.864
## + m_sed         1     0.529  74.489 -35.689
## - weight        1     1.946  76.964 -35.668
## + m_ovality     1     0.137  74.882 -35.042
## - m_whorliness  1     2.944  77.962 -34.084
## - m_a1          1     3.535  78.553 -33.154
## - m_waist       1     4.188  79.206 -32.136
## - m_taper       1     5.270  80.288 -30.467
## - hw.vfrac      1    23.134  98.152  -5.756
## - SWV           1   121.581 196.599  79.685
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + m_led + m_a0 + m_a1 + m_taper + 
##     m_waist + m_whorliness + m_sweep1 + m_sweep2 + weight + hw.vfrac, 
##     data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6616 -0.3750 -0.0511  0.5017  1.6243 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -4.3712770  1.7539168  -2.492  0.01417 *  
## SWV           0.0050099  0.0003735  13.413  < 2e-16 ***
## m_led         0.0358645  0.0259284   1.383  0.16938    
## m_a0         -0.0459245  0.0279586  -1.643  0.10330    
## m_a1          0.1162266  0.0508187   2.287  0.02409 *  
## m_taper      -0.7343405  0.2629693  -2.792  0.00616 ** 
## m_waist      11.5402313  4.6357006   2.489  0.01428 *  
## m_whorliness -0.6522707  0.3125403  -2.087  0.03918 *  
## m_sweep1      0.1841004  0.1359972   1.354  0.17858    
## m_sweep2     -1.2690052  0.7787996  -1.629  0.10606    
## weight        0.0048431  0.0028539   1.697  0.09250 .  
## hw.vfrac     -5.9220943  1.0122030  -5.851 5.03e-08 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8221 on 111 degrees of freedom
## Multiple R-squared:  0.7481, Adjusted R-squared:  0.7231 
## F-statistic: 29.97 on 11 and 111 DF,  p-value: < 2.2e-16
m.best$anova
##          Step Df   Deviance Resid. Df Resid. Dev       AIC
## 1             NA         NA       107   73.32606 -31.62400
## 2      - m_a2  1 0.02932643       108   73.35538 -33.57482
## 3 - m_ovality  1 0.12634602       109   73.48173 -35.36315
## 4     - m_sed  1 0.39771212       110   73.87944 -36.69922
## 5  - m_volume  1 1.13863463       111   75.01808 -36.81800
m.best <- step(m, direction="backward")
## Start:  AIC=-31.62
## E.avg.dyn ~ (m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_a2 + 
##     m_taper + m_waist + m_ovality + m_whorliness + m_sweep1 + 
##     m_sweep2 + weight + hw.vfrac)
## 
##                Df Sum of Sq     RSS     AIC
## - m_a2          1     0.029  73.355 -33.575
## - m_ovality     1     0.127  73.454 -33.410
## - m_volume      1     0.316  73.642 -33.096
## - m_sed         1     0.327  73.653 -33.077
## - m_a1          1     0.883  74.210 -32.151
## - m_sweep1      1     1.144  74.470 -31.720
## <none>                       73.326 -31.624
## - m_led         1     1.400  74.726 -31.297
## - m_taper       1     1.626  74.952 -30.927
## - weight        1     1.710  75.036 -30.789
## - m_a0          1     1.866  75.192 -30.533
## - m_sweep2      1     1.923  75.249 -30.439
## - m_whorliness  1     2.282  75.608 -29.855
## - m_waist       1     3.945  77.271 -27.178
## - hw.vfrac      1    14.089  87.415 -12.006
## - SWV           1   117.154 190.480  83.796
## 
## Step:  AIC=-33.57
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_taper + 
##     m_waist + m_ovality + m_whorliness + m_sweep1 + m_sweep2 + 
##     weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_ovality     1     0.126  73.482 -35.363
## - m_sed         1     0.365  73.721 -34.964
## - m_volume      1     1.030  74.385 -33.860
## - m_sweep1      1     1.116  74.472 -33.717
## <none>                       73.355 -33.575
## - m_led         1     1.413  74.768 -33.228
## - m_a0          1     1.855  75.211 -32.503
## - m_sweep2      1     1.902  75.257 -32.427
## - m_whorliness  1     2.300  75.655 -31.778
## - weight        1     2.835  76.191 -30.910
## - m_a1          1     3.768  77.124 -29.413
## - m_waist       1     4.457  77.812 -28.320
## - m_taper       1     5.693  79.048 -26.382
## - hw.vfrac      1    15.493  88.849 -12.006
## - SWV           1   117.580 190.936  82.089
## 
## Step:  AIC=-35.36
## E.avg.dyn ~ m_volume + SWV + m_led + m_sed + m_a0 + m_a1 + m_taper + 
##     m_waist + m_whorliness + m_sweep1 + m_sweep2 + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_sed         1     0.398  73.879 -36.699
## - m_volume      1     1.007  74.489 -35.689
## - m_sweep1      1     1.204  74.685 -35.365
## <none>                       73.482 -35.363
## - m_led         1     1.395  74.877 -35.050
## - m_a0          1     1.834  75.315 -34.331
## - m_sweep2      1     2.029  75.511 -34.013
## - m_whorliness  1     2.421  75.903 -33.375
## - weight        1     2.728  76.209 -32.880
## - m_a1          1     3.926  77.408 -30.961
## - m_waist       1     4.618  78.100 -29.866
## - m_taper       1     5.818  79.300 -27.990
## - hw.vfrac      1    15.604  89.086 -13.677
## - SWV           1   117.475 190.957  80.103
## 
## Step:  AIC=-36.7
## E.avg.dyn ~ m_volume + SWV + m_led + m_a0 + m_a1 + m_taper + 
##     m_waist + m_whorliness + m_sweep1 + m_sweep2 + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## - m_volume      1     1.139  75.018 -36.818
## <none>                       73.879 -36.699
## - m_sweep1      1     1.238  75.118 -36.655
## - m_led         1     1.265  75.145 -36.610
## - m_a0          1     1.438  75.318 -36.328
## - m_sweep2      1     1.851  75.730 -35.656
## - weight        1     3.080  76.959 -33.676
## - m_whorliness  1     3.336  77.215 -33.267
## - m_a1          1     4.134  78.013 -32.002
## - m_waist       1     4.782  78.661 -30.986
## - m_taper       1     5.829  79.709 -29.358
## - hw.vfrac      1    15.211  89.090 -15.672
## - SWV           1   120.037 193.917  79.995
## 
## Step:  AIC=-36.82
## E.avg.dyn ~ SWV + m_led + m_a0 + m_a1 + m_taper + m_waist + m_whorliness + 
##     m_sweep1 + m_sweep2 + weight + hw.vfrac
## 
##                Df Sum of Sq     RSS     AIC
## <none>                       75.018 -36.818
## - m_sweep1      1     1.238  76.257 -36.804
## - m_led         1     1.293  76.311 -36.716
## - m_sweep2      1     1.794  76.812 -35.911
## - m_a0          1     1.823  76.842 -35.864
## - weight        1     1.946  76.964 -35.668
## - m_whorliness  1     2.944  77.962 -34.084
## - m_a1          1     3.535  78.553 -33.154
## - m_waist       1     4.188  79.206 -32.136
## - m_taper       1     5.270  80.288 -30.467
## - hw.vfrac      1    23.134  98.152  -5.756
## - SWV           1   121.581 196.599  79.685
summary(m.best <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (SWV+m_volume+m_led+m_sed+m_a0+m_a1+m_a2+m_taper+m_waist+m_ovality+m_whorliness+m_sweep1+m_sweep2+volume+weight+density+hw.vfrac)))
## Start:  AIC=46.09
## E.avg.dyn ~ SWV
## 
##                Df Sum of Sq     RSS     AIC
## + density       1    74.451  98.731 -21.033
## + hw.vfrac      1    69.439 103.743 -14.942
## + weight        1    22.385 150.797  31.061
## + m_whorliness  1    14.345 158.837  37.450
## + m_volume      1    13.835 159.347  37.845
## + volume        1    13.670 159.512  37.972
## + m_led         1    13.307 159.875  38.251
## + m_sed         1    13.042 160.140  38.455
## + m_a0          1    12.491 160.691  38.878
## + m_sweep2      1    11.279 161.903  39.802
## + m_waist       1     8.033 165.149  42.244
## + m_a2          1     7.538 165.644  42.611
## + m_a1          1     4.715 168.467  44.690
## <none>                      173.182  46.085
## + m_taper       1     2.250 170.932  46.477
## + m_sweep1      1     0.733 172.449  47.564
## + m_ovality     1     0.340 172.842  47.844
## 
## Step:  AIC=-21.03
## E.avg.dyn ~ SWV + density
## 
##                Df Sum of Sq    RSS     AIC
## + m_volume      1    7.1502 91.581 -28.280
## + weight        1    6.9274 91.804 -27.981
## + volume        1    6.8520 91.879 -27.880
## + m_led         1    6.6487 92.083 -27.608
## + m_sed         1    6.5294 92.202 -27.449
## + m_whorliness  1    6.4331 92.298 -27.320
## + m_a0          1    6.2452 92.486 -27.070
## + m_waist       1    5.7850 92.946 -26.460
## + hw.vfrac      1    5.7087 93.023 -26.359
## + m_a2          1    5.5557 93.176 -26.157
## + m_a1          1    3.8253 94.906 -23.894
## + m_sweep2      1    2.4860 96.245 -22.170
## <none>                      98.731 -21.033
## + m_taper       1    1.0487 97.683 -20.347
## + m_ovality     1    0.7039 98.027 -19.913
## + m_sweep1      1    0.0434 98.688 -19.087
## 
## Step:  AIC=-28.28
## E.avg.dyn ~ SWV + density + m_volume
## 
##                Df Sum of Sq    RSS     AIC
## + m_whorliness  1    8.5640 83.017 -38.356
## + hw.vfrac      1    4.9470 86.634 -33.110
## + m_waist       1    2.6065 88.975 -29.831
## + m_a2          1    2.3921 89.189 -29.535
## + m_sweep2      1    2.2594 89.322 -29.352
## + m_a1          1    1.8069 89.774 -28.731
## <none>                      91.581 -28.280
## + m_a0          1    0.5657 91.015 -27.042
## + m_ovality     1    0.3021 91.279 -26.686
## + volume        1    0.2982 91.283 -26.681
## + m_taper       1    0.1968 91.384 -26.545
## + m_sed         1    0.1609 91.420 -26.496
## + weight        1    0.0699 91.511 -26.374
## + m_sweep1      1    0.0434 91.538 -26.338
## + m_led         1    0.0341 91.547 -26.326
## 
## Step:  AIC=-38.36
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness
## 
##             Df Sum of Sq    RSS     AIC
## + hw.vfrac   1   2.69595 80.321 -40.416
## + m_waist    1   2.52990 80.487 -40.162
## + m_a2       1   2.24176 80.775 -39.723
## <none>                   83.017 -38.356
## + m_a1       1   1.25284 81.764 -38.226
## + m_taper    1   0.77544 82.242 -37.510
## + m_led      1   0.49771 82.519 -37.095
## + m_sweep2   1   0.19103 82.826 -36.639
## + weight     1   0.13808 82.879 -36.561
## + m_sweep1   1   0.09530 82.922 -36.497
## + m_ovality  1   0.08065 82.937 -36.475
## + volume     1   0.06109 82.956 -36.446
## + m_sed      1   0.05569 82.962 -36.438
## + m_a0       1   0.05225 82.965 -36.433
## 
## Step:  AIC=-40.42
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac
## 
##             Df Sum of Sq    RSS     AIC
## + m_waist    1    3.8092 76.512 -44.393
## + m_a2       1    3.4295 76.892 -43.784
## + m_a1       1    1.9948 78.326 -41.510
## <none>                   80.321 -40.416
## + m_led      1    1.1312 79.190 -40.161
## + m_taper    1    0.9708 79.350 -39.912
## + m_sweep2   1    0.4281 79.893 -39.074
## + m_sweep1   1    0.2916 80.030 -38.864
## + weight     1    0.2558 80.065 -38.809
## + m_ovality  1    0.1628 80.158 -38.666
## + volume     1    0.1121 80.209 -38.588
## + m_sed      1    0.0034 80.318 -38.422
## + m_a0       1    0.0027 80.319 -38.421
## 
## Step:  AIC=-44.39
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
##     m_waist
## 
##             Df Sum of Sq    RSS     AIC
## + m_a2       1   2.94365 73.568 -47.218
## <none>                   76.512 -44.393
## + m_sweep2   1   0.91659 75.595 -43.875
## + m_a1       1   0.63481 75.877 -43.417
## + weight     1   0.39181 76.120 -43.024
## + m_taper    1   0.33483 76.177 -42.932
## + m_a0       1   0.31077 76.201 -42.893
## + m_ovality  1   0.29777 76.214 -42.872
## + volume     1   0.28011 76.232 -42.844
## + m_sweep1   1   0.18036 76.332 -42.683
## + m_led      1   0.12038 76.392 -42.586
## + m_sed      1   0.06766 76.444 -42.501
## 
## Step:  AIC=-47.22
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
##     m_waist + m_a2
## 
##             Df Sum of Sq    RSS     AIC
## + weight     1   1.74944 71.819 -48.178
## + volume     1   1.63239 71.936 -47.978
## <none>                   73.568 -47.218
## + m_sweep2   1   1.08297 72.485 -47.042
## + m_a0       1   0.88901 72.679 -46.714
## + m_sed      1   0.57712 72.991 -46.187
## + m_sweep1   1   0.50842 73.060 -46.071
## + m_ovality  1   0.21223 73.356 -45.574
## + m_a1       1   0.16422 73.404 -45.493
## + m_taper    1   0.10425 73.464 -45.393
## + m_led      1   0.07246 73.496 -45.339
## 
## Step:  AIC=-48.18
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
##     m_waist + m_a2 + weight
## 
##             Df Sum of Sq    RSS     AIC
## <none>                   71.819 -48.178
## + m_sweep2   1   0.73721 71.082 -47.448
## + m_sweep1   1   0.47349 71.345 -46.992
## + m_a0       1   0.28728 71.532 -46.671
## + m_sed      1   0.11080 71.708 -46.368
## + m_taper    1   0.07267 71.746 -46.303
## + m_a1       1   0.06520 71.754 -46.290
## + m_ovality  1   0.06427 71.755 -46.289
## + volume     1   0.05954 71.759 -46.280
## + m_led      1   0.00016 71.819 -46.179
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + m_volume + m_whorliness + 
##     hw.vfrac + m_waist + m_a2 + weight, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.7188 -0.3894 -0.0142  0.4668  1.6611 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
## SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
## density       8.795e-03  2.283e-03   3.853 0.000194 ***
## m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
## m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
## hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
## m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
## m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
## weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7937 on 114 degrees of freedom
## Multiple R-squared:  0.7588, Adjusted R-squared:  0.7419 
## F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16
summary(m.best.interactions <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (SWV+m_volume+m_led+m_sed+m_a0+m_a1+m_a2+m_taper+m_waist+m_ovality+m_whorliness+m_sweep1+m_sweep2+weight+density+hw.vfrac)^2))
## Start:  AIC=46.09
## E.avg.dyn ~ SWV
## 
##                Df Sum of Sq     RSS     AIC
## + density       1    74.451  98.731 -21.033
## + hw.vfrac      1    69.439 103.743 -14.942
## + weight        1    22.385 150.797  31.061
## + m_whorliness  1    14.345 158.837  37.450
## + m_volume      1    13.835 159.347  37.845
## + m_led         1    13.307 159.875  38.251
## + m_sed         1    13.042 160.140  38.455
## + m_a0          1    12.491 160.691  38.878
## + m_sweep2      1    11.279 161.903  39.802
## + m_waist       1     8.033 165.149  42.244
## + m_a2          1     7.538 165.644  42.611
## + m_a1          1     4.715 168.467  44.690
## <none>                      173.182  46.085
## + m_taper       1     2.250 170.932  46.477
## + m_sweep1      1     0.733 172.449  47.564
## + m_ovality     1     0.340 172.842  47.844
## 
## Step:  AIC=-21.03
## E.avg.dyn ~ SWV + density
## 
##                Df Sum of Sq    RSS     AIC
## + m_volume      1    7.1502 91.581 -28.280
## + weight        1    6.9274 91.804 -27.981
## + m_led         1    6.6487 92.083 -27.608
## + m_sed         1    6.5294 92.202 -27.449
## + m_whorliness  1    6.4331 92.298 -27.320
## + m_a0          1    6.2452 92.486 -27.070
## + m_waist       1    5.7850 92.946 -26.460
## + hw.vfrac      1    5.7087 93.023 -26.359
## + m_a2          1    5.5557 93.176 -26.157
## + m_a1          1    3.8253 94.906 -23.894
## + m_sweep2      1    2.4860 96.245 -22.170
## <none>                      98.731 -21.033
## + m_taper       1    1.0487 97.683 -20.347
## + m_ovality     1    0.7039 98.027 -19.913
## + SWV:density   1    0.2022 98.529 -19.285
## + m_sweep1      1    0.0434 98.688 -19.087
## 
## Step:  AIC=-28.28
## E.avg.dyn ~ SWV + density + m_volume
## 
##                    Df Sum of Sq    RSS     AIC
## + m_whorliness      1    8.5640 83.017 -38.356
## + hw.vfrac          1    4.9470 86.634 -33.110
## + m_waist           1    2.6065 88.975 -29.831
## + m_a2              1    2.3921 89.189 -29.535
## + m_sweep2          1    2.2594 89.322 -29.352
## + m_a1              1    1.8069 89.774 -28.731
## <none>                          91.581 -28.280
## + m_a0              1    0.5657 91.015 -27.042
## + m_ovality         1    0.3021 91.279 -26.686
## + m_taper           1    0.1968 91.384 -26.545
## + m_sed             1    0.1609 91.420 -26.496
## + SWV:density       1    0.1336 91.448 -26.459
## + weight            1    0.0699 91.511 -26.374
## + m_volume:density  1    0.0640 91.517 -26.366
## + m_sweep1          1    0.0434 91.538 -26.338
## + SWV:m_volume      1    0.0407 91.540 -26.335
## + m_led             1    0.0341 91.547 -26.326
## 
## Step:  AIC=-38.36
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness
## 
##                         Df Sum of Sq    RSS     AIC
## + hw.vfrac               1   2.69595 80.321 -40.416
## + m_waist                1   2.52990 80.487 -40.162
## + m_a2                   1   2.24176 80.775 -39.723
## <none>                               83.017 -38.356
## + m_a1                   1   1.25284 81.764 -38.226
## + m_taper                1   0.77544 82.242 -37.510
## + SWV:m_whorliness       1   0.58717 82.430 -37.229
## + m_led                  1   0.49771 82.519 -37.095
## + m_volume:m_whorliness  1   0.36156 82.656 -36.893
## + SWV:density            1   0.27611 82.741 -36.766
## + m_volume:density       1   0.24858 82.769 -36.725
## + m_sweep2               1   0.19103 82.826 -36.639
## + SWV:m_volume           1   0.18907 82.828 -36.636
## + weight                 1   0.13808 82.879 -36.561
## + m_sweep1               1   0.09530 82.922 -36.497
## + m_ovality              1   0.08065 82.937 -36.475
## + m_sed                  1   0.05569 82.962 -36.438
## + m_a0                   1   0.05225 82.965 -36.433
## + m_whorliness:density   1   0.04145 82.976 -36.417
## 
## Step:  AIC=-40.42
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac
## 
##                         Df Sum of Sq    RSS     AIC
## + m_waist                1    3.8092 76.512 -44.393
## + m_a2                   1    3.4295 76.892 -43.784
## + m_a1                   1    1.9948 78.326 -41.510
## <none>                               80.321 -40.416
## + m_led                  1    1.1312 79.190 -40.161
## + m_taper                1    0.9708 79.350 -39.912
## + m_volume:m_whorliness  1    0.6746 79.647 -39.454
## + m_volume:hw.vfrac      1    0.6349 79.686 -39.393
## + density:hw.vfrac       1    0.5142 79.807 -39.206
## + SWV:hw.vfrac           1    0.4848 79.836 -39.161
## + m_volume:density       1    0.4396 79.882 -39.091
## + m_sweep2               1    0.4281 79.893 -39.074
## + SWV:density            1    0.4109 79.910 -39.047
## + m_whorliness:density   1    0.3276 79.994 -38.919
## + m_whorliness:hw.vfrac  1    0.2997 80.022 -38.876
## + m_sweep1               1    0.2916 80.030 -38.864
## + SWV:m_volume           1    0.2875 80.034 -38.857
## + weight                 1    0.2558 80.065 -38.809
## + SWV:m_whorliness       1    0.2205 80.101 -38.755
## + m_ovality              1    0.1628 80.158 -38.666
## + m_sed                  1    0.0034 80.318 -38.422
## + m_a0                   1    0.0027 80.319 -38.421
## 
## Step:  AIC=-44.39
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
##     m_waist
## 
##                         Df Sum of Sq    RSS     AIC
## + m_a2                   1   2.94365 73.568 -47.218
## <none>                               76.512 -44.393
## + m_volume:m_waist       1   1.18025 75.332 -44.305
## + m_waist:density        1   1.09579 75.416 -44.167
## + m_sweep2               1   0.91659 75.595 -43.875
## + density:hw.vfrac       1   0.87262 75.639 -43.803
## + m_a1                   1   0.63481 75.877 -43.417
## + m_waist:hw.vfrac       1   0.46971 76.042 -43.150
## + SWV:m_whorliness       1   0.45054 76.061 -43.119
## + m_volume:hw.vfrac      1   0.42593 76.086 -43.079
## + SWV:hw.vfrac           1   0.39679 76.115 -43.032
## + weight                 1   0.39181 76.120 -43.024
## + m_taper                1   0.33483 76.177 -42.932
## + m_volume:density       1   0.33466 76.177 -42.932
## + SWV:m_waist            1   0.31625 76.196 -42.902
## + SWV:density            1   0.31285 76.199 -42.897
## + m_a0                   1   0.31077 76.201 -42.893
## + m_ovality              1   0.29777 76.214 -42.872
## + m_waist:m_whorliness   1   0.25295 76.259 -42.800
## + m_volume:m_whorliness  1   0.22210 76.290 -42.750
## + m_sweep1               1   0.18036 76.332 -42.683
## + m_led                  1   0.12038 76.392 -42.586
## + m_sed                  1   0.06766 76.444 -42.501
## + SWV:m_volume           1   0.04851 76.463 -42.471
## + m_whorliness:density   1   0.03656 76.475 -42.451
## + m_whorliness:hw.vfrac  1   0.02627 76.486 -42.435
## 
## Step:  AIC=-47.22
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
##     m_waist + m_a2
## 
##                         Df Sum of Sq    RSS     AIC
## + m_volume:m_a2          1   2.53527 71.033 -49.532
## + m_volume:m_waist       1   2.35515 71.213 -49.220
## + weight                 1   1.74944 71.819 -48.178
## <none>                               73.568 -47.218
## + m_sweep2               1   1.08297 72.485 -47.042
## + density:hw.vfrac       1   0.90738 72.661 -46.745
## + m_a0                   1   0.88901 72.679 -46.714
## + SWV:m_whorliness       1   0.66449 72.904 -46.334
## + m_volume:hw.vfrac      1   0.58434 72.984 -46.199
## + m_sed                  1   0.57712 72.991 -46.187
## + m_volume:density       1   0.54651 73.022 -46.135
## + m_sweep1               1   0.50842 73.060 -46.071
## + m_waist:density        1   0.39487 73.173 -45.880
## + m_a2:density           1   0.34476 73.224 -45.796
## + SWV:density            1   0.33746 73.231 -45.784
## + m_waist:m_whorliness   1   0.33083 73.238 -45.773
## + m_a2:m_whorliness      1   0.30408 73.264 -45.728
## + SWV:hw.vfrac           1   0.26930 73.299 -45.669
## + SWV:m_waist            1   0.26921 73.299 -45.669
## + m_volume:m_whorliness  1   0.26853 73.300 -45.668
## + SWV:m_a2               1   0.26228 73.306 -45.658
## + m_a2:m_waist           1   0.21821 73.350 -45.584
## + m_whorliness:hw.vfrac  1   0.21564 73.353 -45.579
## + m_ovality              1   0.21223 73.356 -45.574
## + m_a1                   1   0.16422 73.404 -45.493
## + m_taper                1   0.10425 73.464 -45.393
## + m_waist:hw.vfrac       1   0.10345 73.465 -45.391
## + m_whorliness:density   1   0.08845 73.480 -45.366
## + m_a2:hw.vfrac          1   0.08439 73.484 -45.359
## + m_led                  1   0.07246 73.496 -45.339
## + SWV:m_volume           1   0.01549 73.553 -45.244
## 
## Step:  AIC=-49.53
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
##     m_waist + m_a2 + m_volume:m_a2
## 
##                         Df Sum of Sq    RSS     AIC
## + m_volume:m_waist       1   1.57018 69.463 -50.281
## + m_sweep2               1   1.31934 69.714 -49.838
## + weight                 1   1.26043 69.773 -49.734
## <none>                               71.033 -49.532
## + SWV:m_whorliness       1   1.00502 70.028 -49.284
## + density:hw.vfrac       1   0.57981 70.453 -48.540
## + m_a2:m_waist           1   0.57825 70.455 -48.537
## + m_volume:hw.vfrac      1   0.55155 70.482 -48.491
## + m_waist:m_whorliness   1   0.51048 70.523 -48.419
## + m_volume:density       1   0.47518 70.558 -48.357
## + m_a2:m_whorliness      1   0.44949 70.584 -48.313
## + m_ovality              1   0.38682 70.646 -48.203
## + SWV:density            1   0.35950 70.674 -48.156
## + m_sweep1               1   0.34644 70.687 -48.133
## + SWV:hw.vfrac           1   0.25541 70.778 -47.975
## + m_whorliness:hw.vfrac  1   0.17581 70.857 -47.837
## + m_a0                   1   0.14603 70.887 -47.785
## + m_waist:density        1   0.12407 70.909 -47.747
## + m_whorliness:density   1   0.10697 70.926 -47.717
## + m_a2:density           1   0.09142 70.942 -47.690
## + m_sed                  1   0.08638 70.947 -47.681
## + m_a1                   1   0.06261 70.970 -47.640
## + m_a2:hw.vfrac          1   0.03294 71.000 -47.589
## + m_taper                1   0.02695 71.006 -47.578
## + m_waist:hw.vfrac       1   0.02166 71.011 -47.569
## + m_volume:m_whorliness  1   0.01672 71.016 -47.561
## + m_led                  1   0.01269 71.020 -47.554
## + SWV:m_volume           1   0.00451 71.029 -47.540
## + SWV:m_waist            1   0.00196 71.031 -47.535
## + SWV:m_a2               1   0.00073 71.032 -47.533
## 
## Step:  AIC=-50.28
## E.avg.dyn ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
##     m_waist + m_a2 + m_volume:m_a2 + m_volume:m_waist
## 
##                         Df Sum of Sq    RSS     AIC
## <none>                               69.463 -50.281
## + weight                 1   0.99580 68.467 -50.057
## + m_sweep2               1   0.97137 68.492 -50.013
## + SWV:m_whorliness       1   0.86391 68.599 -49.820
## + m_volume:hw.vfrac      1   0.84686 68.616 -49.790
## + density:hw.vfrac       1   0.68684 68.776 -49.503
## + m_volume:density       1   0.60743 68.855 -49.361
## + m_ovality              1   0.50946 68.953 -49.187
## + m_a2:m_waist           1   0.40809 69.055 -49.006
## + SWV:density            1   0.38337 69.080 -48.962
## + SWV:hw.vfrac           1   0.37915 69.084 -48.954
## + m_a1                   1   0.35931 69.104 -48.919
## + m_led                  1   0.35776 69.105 -48.916
## + m_sweep1               1   0.35636 69.107 -48.914
## + m_taper                1   0.28501 69.178 -48.787
## + m_whorliness:hw.vfrac  1   0.26693 69.196 -48.755
## + m_whorliness:density   1   0.11746 69.345 -48.489
## + m_waist:m_whorliness   1   0.11675 69.346 -48.488
## + m_a2:m_whorliness      1   0.10306 69.360 -48.464
## + m_a0                   1   0.08448 69.378 -48.431
## + m_a2:hw.vfrac          1   0.08004 69.383 -48.423
## + m_waist:hw.vfrac       1   0.05293 69.410 -48.375
## + m_waist:density        1   0.04339 69.420 -48.358
## + SWV:m_volume           1   0.04069 69.422 -48.353
## + m_a2:density           1   0.02438 69.439 -48.324
## + m_volume:m_whorliness  1   0.02341 69.440 -48.323
## + m_sed                  1   0.02139 69.442 -48.319
## + SWV:m_a2               1   0.01786 69.445 -48.313
## + SWV:m_waist            1   0.01156 69.451 -48.302
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + m_volume + m_whorliness + 
##     hw.vfrac + m_waist + m_a2 + m_volume:m_a2 + m_volume:m_waist, 
##     data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6882 -0.3974 -0.0021  0.4774  1.8460 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)    
## (Intercept)      -1.324e+01  2.208e+00  -5.998 2.46e-08 ***
## SWV               5.141e-03  3.313e-04  15.519  < 2e-16 ***
## density           6.740e-03  1.836e-03   3.671  0.00037 ***
## m_volume          7.543e-01  5.060e-01   1.491  0.13882    
## m_whorliness     -7.338e-01  2.764e-01  -2.655  0.00907 ** 
## hw.vfrac         -3.198e+00  1.239e+00  -2.580  0.01117 *  
## m_waist           3.138e+01  1.292e+01   2.429  0.01671 *  
## m_a2             -3.483e-01  1.408e-01  -2.473  0.01488 *  
## m_volume:m_a2     5.013e-01  2.971e-01   1.687  0.09428 .  
## m_volume:m_waist -4.394e+01  2.749e+01  -1.598  0.11279    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.784 on 113 degrees of freedom
## Multiple R-squared:  0.7667, Adjusted R-squared:  0.7482 
## F-statistic: 41.27 on 9 and 113 DF,  p-value: < 2.2e-16
#
m.best.current <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV))
## Start:  AIC=46.09
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq    RSS    AIC
## + m_volume  1    13.835 159.35 37.845
## + volume    1    13.670 159.51 37.972
## <none>                  173.18 46.085
## 
## Step:  AIC=37.84
## E.avg.dyn ~ SWV + m_volume
## 
##          Df Sum of Sq    RSS    AIC
## <none>                159.35 37.845
## + volume  1    0.0109 159.34 39.836
m.best.withWeight <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV+weight+density+hw.vfrac))
## Start:  AIC=46.09
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq     RSS     AIC
## + density   1    74.451  98.731 -21.033
## + hw.vfrac  1    69.439 103.743 -14.942
## + weight    1    22.385 150.797  31.061
## + m_volume  1    13.835 159.347  37.845
## + volume    1    13.670 159.512  37.972
## <none>                  173.182  46.085
## 
## Step:  AIC=-21.03
## E.avg.dyn ~ SWV + density
## 
##            Df Sum of Sq    RSS     AIC
## + m_volume  1    7.1502 91.581 -28.280
## + weight    1    6.9274 91.804 -27.981
## + volume    1    6.8520 91.879 -27.880
## + hw.vfrac  1    5.7087 93.023 -26.359
## <none>                  98.731 -21.033
## 
## Step:  AIC=-28.28
## E.avg.dyn ~ SWV + density + m_volume
## 
##            Df Sum of Sq    RSS     AIC
## + hw.vfrac  1    4.9470 86.634 -33.110
## <none>                  91.581 -28.280
## + volume    1    0.2982 91.283 -26.681
## + weight    1    0.0699 91.511 -26.374
## 
## Step:  AIC=-33.11
## E.avg.dyn ~ SWV + density + m_volume + hw.vfrac
## 
##          Df Sum of Sq    RSS     AIC
## <none>                86.634 -33.110
## + volume  1   0.37563 86.259 -31.645
## + weight  1   0.21029 86.424 -31.409
# currently measurable: SWV, volume/size, shape
# with weight: SWV, volume/size, shape, weight, density
m.best.withWeight <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV+weight+density+hw.vfrac))
## Start:  AIC=46.09
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq     RSS     AIC
## + density   1    74.451  98.731 -21.033
## + hw.vfrac  1    69.439 103.743 -14.942
## + weight    1    22.385 150.797  31.061
## + m_volume  1    13.835 159.347  37.845
## + volume    1    13.670 159.512  37.972
## <none>                  173.182  46.085
## 
## Step:  AIC=-21.03
## E.avg.dyn ~ SWV + density
## 
##            Df Sum of Sq    RSS     AIC
## + m_volume  1    7.1502 91.581 -28.280
## + weight    1    6.9274 91.804 -27.981
## + volume    1    6.8520 91.879 -27.880
## + hw.vfrac  1    5.7087 93.023 -26.359
## <none>                  98.731 -21.033
## 
## Step:  AIC=-28.28
## E.avg.dyn ~ SWV + density + m_volume
## 
##            Df Sum of Sq    RSS     AIC
## + hw.vfrac  1    4.9470 86.634 -33.110
## <none>                  91.581 -28.280
## + volume    1    0.2982 91.283 -26.681
## + weight    1    0.0699 91.511 -26.374
## 
## Step:  AIC=-33.11
## E.avg.dyn ~ SWV + density + m_volume + hw.vfrac
## 
##          Df Sum of Sq    RSS     AIC
## <none>                86.634 -33.110
## + volume  1   0.37563 86.259 -31.645
## + weight  1   0.21029 86.424 -31.409
m.best.withHW <- step(lm(E.avg.dyn ~ SWV, L, subset=!is.na(L$m_sed)), direction="forward", scope=E.avg.dyn ~ (m_volume+volume+SWV+hw.vfrac))
## Start:  AIC=46.09
## E.avg.dyn ~ SWV
## 
##            Df Sum of Sq    RSS     AIC
## + hw.vfrac  1    69.439 103.74 -14.942
## + m_volume  1    13.835 159.35  37.845
## + volume    1    13.670 159.51  37.972
## <none>                  173.18  46.085
## 
## Step:  AIC=-14.94
## E.avg.dyn ~ SWV + hw.vfrac
## 
##            Df Sum of Sq     RSS     AIC
## + m_volume  1    6.7906  96.953 -21.269
## + volume    1    6.4838  97.260 -20.881
## <none>                  103.743 -14.943
## 
## Step:  AIC=-21.27
## E.avg.dyn ~ SWV + hw.vfrac + m_volume
## 
##          Df Sum of Sq    RSS     AIC
## <none>                96.953 -21.269
## + volume  1   0.34228 96.611 -19.704
# with heartwood: SWV, volume/size, shape, weight, density, hw.vfrac
m.best.withWeightHW <- step(lm(E.avg.dyn ~ (SWV + density + weight + hw.vfrac), L))
## Start:  AIC=-32.68
## E.avg.dyn ~ (SWV + density + weight + hw.vfrac)
## 
##            Df Sum of Sq     RSS     AIC
## <none>                   86.940 -32.676
## - hw.vfrac  1     4.864  91.804 -27.981
## - weight    1     6.082  93.023 -26.359
## - density   1     9.077  96.017 -22.462
## - SWV       1   177.134 264.075 101.978

Plot best models for Marco:

myplot=function (m, lbl) {
  print(s<-summary(m))
  xyplot(m$model$E.avg.dyn ~ predict(m), 
         panel=function(x,y,...) {
           panel.abline(c(0,1), col='grey70', lty=2)
           panel.xyplot(x,y,...)}, 
          aspect='iso',
         xlab='Predicted', ylab='Actual',
         main=sprintf('%s\nr^2=%0.2f',lbl,s$r.squared))
         #main=lbl, sub=expression(r^2==s$r.squared))
}
grid.arrange(myplot(m.best.current, lbl="Current (SWV + volume)"), 
             myplot(m.best.withWeight, lbl="With Log Weight"), 
             myplot(m.best.withHW, lbl="With Log end HW"), 
             myplot(m.best, lbl="Everything"),
             nrow=1, 
             as.table=TRUE)
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + m_volume, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.2835 -0.6269  0.0058  0.7533  2.6169 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -6.7180744  1.5591870  -4.309 3.38e-05 ***
## SWV          0.0045552  0.0004462  10.209  < 2e-16 ***
## m_volume     1.9280541  0.5973221   3.228  0.00161 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.152 on 120 degrees of freedom
## Multiple R-squared:  0.4649, Adjusted R-squared:  0.456 
## F-statistic: 52.13 on 2 and 120 DF,  p-value: < 2.2e-16
## 
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + m_volume + hw.vfrac, 
##     data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.9763 -0.4081  0.0458  0.4933  1.7542 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -1.527e+01  2.327e+00  -6.564 1.47e-09 ***
## SWV          5.385e-03  3.462e-04  15.554  < 2e-16 ***
## density      7.351e-03  1.961e-03   3.749 0.000277 ***
## m_volume     1.323e+00  4.485e-01   2.950 0.003835 ** 
## hw.vfrac    -3.361e+00  1.295e+00  -2.596 0.010636 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.8568 on 118 degrees of freedom
## Multiple R-squared:  0.7091, Adjusted R-squared:  0.6992 
## F-statistic:  71.9 on 4 and 118 DF,  p-value: < 2.2e-16
## 
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + hw.vfrac + m_volume, data = L, 
##     subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.9369 -0.4489 -0.0201  0.5021  1.9246 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept) -7.7219184  1.2266795  -6.295 5.33e-09 ***
## SWV          0.0054529  0.0003643  14.970  < 2e-16 ***
## hw.vfrac    -7.2258935  0.8257089  -8.751 1.67e-14 ***
## m_volume     1.3635436  0.4723057   2.887  0.00462 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.9026 on 119 degrees of freedom
## Multiple R-squared:  0.6744, Adjusted R-squared:  0.6662 
## F-statistic: 82.17 on 3 and 119 DF,  p-value: < 2.2e-16
## 
## 
## Call:
## lm(formula = E.avg.dyn ~ SWV + density + m_volume + m_whorliness + 
##     hw.vfrac + m_waist + m_a2 + weight, data = L, subset = !is.na(L$m_sed))
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.7188 -0.3894 -0.0142  0.4668  1.6611 
## 
## Coefficients:
##                Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
## SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
## density       8.795e-03  2.283e-03   3.853 0.000194 ***
## m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
## m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
## hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
## m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
## m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
## weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.7937 on 114 degrees of freedom
## Multiple R-squared:  0.7588, Adjusted R-squared:  0.7419 
## F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16

Does eliminating logs with significant compression wood visible on ends lead to better models?

what % of lumber that is not from the cant has stiffness below 6GPa?

3.2 Warp

3.2.1 Best Linear Models

Use stepwise regression to select ‘best’ (in terms of AIC) linear model.

best.linear.model = function (y,LL=NULL,plot=TRUE,...) {
  if (is.null(LL)) {
    
    LL=L[,predictors]
  }
  LL$y = y
  LL = na.omit(LL)#[complete.cases(LL),]
  scope = formula(paste("y~",paste(predictors,collapse='+')))
  #print(scope)
  m.init <- lm(y ~ SWV, LL, ...)
  #browser()
  m <- step(m.init, direction="both", scope=scope, trace=0)
  if (plot) {
    print(xyplot(LL$y ~ predict(m),aspect='iso',
                 panel=function(...){
                    panel.abline(c(0,1),col='grey70')
                    panel.xyplot(...)},
                 main=deparse(substitute(y)),
                 xlab='predicted', ylab='observed'))
  }
  return(m)
}

3.2.1.1 Bow

summary(m.best.bow_avg <- best.linear.model(L$bow_avg))
## 
## Call:
## lm(formula = y ~ SWV + density + m_taper, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.0477 -2.3025 -0.5719  1.8777 16.4729 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 50.130387   7.768906   6.453 2.48e-09 ***
## SWV         -0.006338   0.001486  -4.265 4.04e-05 ***
## density     -0.016751   0.005007  -3.345  0.00110 ** 
## m_taper     -0.344437   0.128428  -2.682  0.00836 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.637 on 119 degrees of freedom
## Multiple R-squared:  0.1857, Adjusted R-squared:  0.1651 
## F-statistic: 9.044 on 3 and 119 DF,  p-value: 1.925e-05
summary(m.best.bow_p50 <- best.linear.model(L$bow_p50))
## 
## Call:
## lm(formula = y ~ SWV + density + m_led + m_a0 + m_whorliness + 
##     weight, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.7477 -2.4296 -0.4523  2.1092 11.6209 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  48.036399  11.206653   4.286 3.77e-05 ***
## SWV          -0.007397   0.001610  -4.594 1.11e-05 ***
## density      -0.014851   0.006826  -2.176   0.0316 *  
## m_led        -0.054103   0.029463  -1.836   0.0689 .  
## m_a0          0.089035   0.035585   2.502   0.0137 *  
## m_whorliness -2.859383   1.304531  -2.192   0.0304 *  
## weight       -0.017303   0.012097  -1.430   0.1553    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.762 on 116 degrees of freedom
## Multiple R-squared:  0.2656, Adjusted R-squared:  0.2276 
## F-statistic: 6.991 on 6 and 116 DF,  p-value: 2.304e-06
summary(m.best.bow_p75 <- best.linear.model(L$bow_p75))
## 
## Call:
## lm(formula = y ~ SWV + m_taper + density, data = LL)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -10.9639  -3.2509  -0.4905   3.2151  20.5563 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 62.605957  10.910506   5.738 7.43e-08 ***
## SWV         -0.007785   0.002087  -3.730 0.000295 ***
## m_taper     -0.532468   0.180362  -2.952 0.003802 ** 
## density     -0.019486   0.007032  -2.771 0.006483 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.108 on 119 degrees of freedom
## Multiple R-squared:  0.1575, Adjusted R-squared:  0.1363 
## F-statistic: 7.417 on 3 and 119 DF,  p-value: 0.0001348

SWV, weight, density, whorliness and taper best predictors. Median bow best predicted.

3.2.1.2 Crook

summary(m.best.crook_avg <- best.linear.model(L$crook_avg))
## 
## Call:
## lm(formula = y ~ density + sweep.prod + m_a2, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.4455 -1.4960 -0.3582  0.9658 10.4465 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 11.763314   2.899084   4.058  8.9e-05 ***
## density     -0.007900   0.003032  -2.605   0.0104 *  
## sweep.prod   1.885969   0.839433   2.247   0.0265 *  
## m_a2        -0.012981   0.006966  -1.863   0.0649 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.238 on 119 degrees of freedom
## Multiple R-squared:  0.1293, Adjusted R-squared:  0.1073 
## F-statistic: 5.888 on 3 and 119 DF,  p-value: 0.0008794
summary(m.best.crook_p50 <- best.linear.model(L$crook_p50))
## 
## Call:
## lm(formula = y ~ SWV + hw.vfrac + sweep.prod + m_taper, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.6810 -1.3799 -0.4174  0.8419  8.7215 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)   
## (Intercept)  9.8372683  3.2768419   3.002  0.00327 **
## SWV         -0.0020108  0.0009157  -2.196  0.03005 * 
## hw.vfrac     6.2981503  1.9614745   3.211  0.00171 **
## sweep.prod   1.6186090  0.8178916   1.979  0.05014 . 
## m_taper     -0.1322546  0.0747625  -1.769  0.07948 . 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.119 on 118 degrees of freedom
## Multiple R-squared:  0.1552, Adjusted R-squared:  0.1265 
## F-statistic: 5.418 on 4 and 118 DF,  p-value: 0.0004857
summary(m.best.crook_p75 <- best.linear.model(L$crook_p75))
## 
## Call:
## lm(formula = y ~ SWV + density + sweep.prod + m_taper, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.1687 -1.9566 -0.6777  1.1977 14.4027 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 28.177452   6.780630   4.156 6.17e-05 ***
## SWV         -0.002311   0.001259  -1.835  0.06901 .  
## density     -0.014306   0.004252  -3.365  0.00103 ** 
## sweep.prod   2.691696   1.167080   2.306  0.02284 *  
## m_taper     -0.165324   0.106147  -1.557  0.12203    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.001 on 118 degrees of freedom
## Multiple R-squared:  0.1772, Adjusted R-squared:  0.1493 
## F-statistic: 6.355 on 4 and 118 DF,  p-value: 0.0001149

75%ile crook best predicted. Density, sweep.prod, SWV, whorliness.

3.2.1.3 Combination Warp

Stan combined bow and crook using WPA grade limits.

combined_warp = L$crook_avg/75 + L$bow_avg/25
summary(m.best.combined_warp <- best.linear.model(combined_warp))
## 
## Call:
## lm(formula = y ~ SWV + density + m_taper, data = LL)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.32265 -0.09364 -0.01027  0.06659  0.73476 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.3008456  0.3288043   6.998 1.65e-10 ***
## SWV         -0.0002806  0.0000629  -4.461 1.87e-05 ***
## density     -0.0008098  0.0002119  -3.822 0.000212 ***
## m_taper     -0.0149063  0.0054355  -2.742 0.007042 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1539 on 119 degrees of freedom
## Multiple R-squared:  0.2091, Adjusted R-squared:  0.1892 
## F-statistic: 10.49 on 3 and 119 DF,  p-value: 3.575e-06

What happens if we toss a couple of outliers?

L$SWILogNumber[combined_warp>1.2] # 222
## [1] 222
L$SWILogNumber[combined_warp<0.2] # 103
## [1] 103
subset = !L$SWILogNumber%in%c(103,222)
summary(m.best.combined_warp <- best.linear.model(combined_warp[subset], LL=L[subset,predictors]))
## 
## Call:
## lm(formula = y ~ SWV + density + m_taper + weight, data = LL)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.25644 -0.09717 -0.01417  0.07387  0.39249 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.151e+00  2.904e-01   7.409 2.23e-11 ***
## SWV         -2.719e-04  5.655e-05  -4.808 4.61e-06 ***
## density     -6.330e-04  1.934e-04  -3.274  0.00140 ** 
## m_taper     -1.561e-02  4.916e-03  -3.176  0.00191 ** 
## weight      -9.961e-05  7.043e-05  -1.414  0.15991    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.1353 on 116 degrees of freedom
## Multiple R-squared:  0.2465, Adjusted R-squared:  0.2205 
## F-statistic: 9.486 on 4 and 116 DF,  p-value: 1.138e-06

A little better, but nothing spectacular.

Can a random forest model do better?

LL=L[,predictors]
LL$combined_warp = combined_warp
LL = na.omit(LL)
m.rf <- randomForest(combined_warp ~ ., LL, importance=TRUE, ntree=50000)
par(mfcol=c(1,1))
varImpPlot(m.rf)
print(m.rf)
## 
## Call:
##  randomForest(formula = combined_warp ~ ., data = LL, importance = TRUE,      ntree = 50000) 
##                Type of random forest: regression
##                      Number of trees: 50000
## No. of variables tried at each split: 5
## 
##           Mean of squared residuals: 0.02992237
##                     % Var explained: -3.22
xyplot(LL$combined_warp ~ predict(m.rf), aspect='iso')

Lousy results, but interesting that log green density turns up as the most favoured predictor, followed by SWV, taper and ovality.

What about other variable selection approaches?

LL <- L[,predictors]
for (lmeas in c('E.avg.dyn','crook_avg','crook_avg_inner','crook_avg_outer','bow_avg','twist_avg')) {
  LL$y = L[,lmeas]
  m.0 <- lm(y ~ ., LL)
  Hmat <- lmHmat(m.0)
  Eleaps <- eleaps(Hmat$mat, kmin=1, kmax=length(predictors)-1, H=Hmat$H, r=Hmat$r)
  plot(Eleaps$bestvalues, type='b', main=lmeas, ylab="model goodness", xlab="number of predictors")
  cat(paste("\n",lmeas,"\n"))
  for (i in 1:nrow(Eleaps$bestsets)) {
    cat(paste(i,': ',paste(colnames(Hmat$mat)[Eleaps$bestsets[i,1:i]],collapse=", "),"\n", sep=""))
    # AIC?
  }
}
## 
##  E.avg.dyn 
## 1: SWV
## 2: SWV, density
## 3: SWV, m_volume, density
## 4: SWV, m_led, m_whorliness, density
## 5: SWV, m_led, m_whorliness, density, hw.vfrac
## 6: SWV, m_led, m_waist, m_whorliness, density, hw.vfrac
## 7: SWV, m_volume, m_a2, m_waist, m_whorliness, density, hw.vfrac
## 8: SWV, m_volume, m_a2, m_waist, m_whorliness, weight, density, hw.vfrac
## 9: SWV, m_volume, m_a2, m_waist, m_whorliness, m_sweep2, weight, density, hw.vfrac
## 10: SWV, m_volume, m_a2, m_waist, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 11: SWV, m_volume, m_a0, m_a2, m_waist, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 12: SWV, m_volume, m_led, m_a0, m_a2, m_taper, m_waist, m_whorliness, m_sweep1, density, hw.vfrac, sweep.prod
## 13: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_waist, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 14: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_waist, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_waist, m_ovality, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 
##  crook_avg 
## 1: density
## 2: density, sweep.prod
## 3: m_a2, density, sweep.prod
## 4: SWV, m_a2, density, sweep.prod
## 5: m_a1, m_taper, m_waist, density, sweep.prod
## 6: SWV, m_a1, m_taper, m_waist, density, sweep.prod
## 7: SWV, m_a1, m_taper, m_waist, density, hw.vfrac, sweep.prod
## 8: SWV, m_a1, m_taper, m_waist, m_whorliness, density, hw.vfrac, sweep.prod
## 9: SWV, m_a1, m_a2, m_taper, m_waist, m_whorliness, density, hw.vfrac, sweep.prod
## 10: SWV, m_sed, m_a0, m_a1, m_taper, m_waist, m_whorliness, density, hw.vfrac, sweep.prod
## 11: SWV, m_volume, m_a1, m_a2, m_taper, m_waist, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 12: SWV, m_volume, m_led, m_a1, m_a2, m_taper, m_waist, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 13: SWV, m_volume, m_led, m_sed, m_a1, m_a2, m_taper, m_waist, m_whorliness, weight, density, hw.vfrac, sweep.prod
## 14: SWV, m_volume, m_led, m_sed, m_a1, m_a2, m_taper, m_waist, m_whorliness, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 15: SWV, m_volume, m_led, m_sed, m_a1, m_a2, m_taper, m_waist, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 
##  crook_avg_inner 
## 1: sweep.prod
## 2: m_volume, weight
## 3: SWV, m_volume, weight
## 4: m_volume, m_a1, weight, sweep.prod
## 5: SWV, m_volume, m_a2, weight, sweep.prod
## 6: SWV, m_volume, m_a2, m_waist, weight, sweep.prod
## 7: SWV, m_volume, m_a1, m_taper, m_waist, weight, sweep.prod
## 8: SWV, m_led, m_a0, m_a1, m_taper, m_waist, density, sweep.prod
## 9: SWV, m_led, m_a0, m_a1, m_a2, m_taper, m_waist, density, sweep.prod
## 10: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, density, sweep.prod
## 11: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_whorliness, density, sweep.prod
## 12: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, density, sweep.prod
## 13: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_sweep1, m_sweep2, density, sweep.prod
## 14: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, sweep.prod
## 15: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, sweep.prod
## 16: SWV, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 
##  crook_avg_outer 
## 1: m_waist
## 2: SWV, m_led
## 3: SWV, m_led, m_waist
## 4: SWV, m_sed, m_waist, m_whorliness
## 5: SWV, m_sed, m_a0, m_a2, m_whorliness
## 6: SWV, m_sed, m_a0, m_a2, m_whorliness, m_sweep1
## 7: SWV, m_sed, m_a0, m_a2, m_whorliness, m_sweep1, density
## 8: SWV, m_sed, m_a0, m_a1, m_taper, m_waist, m_whorliness, m_sweep1
## 9: SWV, m_volume, m_sed, m_a0, m_a2, m_whorliness, m_sweep1, weight, density
## 10: SWV, m_volume, m_sed, m_a0, m_a2, m_waist, m_whorliness, m_sweep1, weight, density
## 11: SWV, m_volume, m_led, m_sed, m_a0, m_a2, m_waist, m_whorliness, m_sweep1, weight, density
## 12: SWV, m_volume, m_led, m_sed, m_a0, m_a2, m_taper, m_waist, m_whorliness, m_sweep1, weight, density
## 13: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_whorliness, m_sweep1, weight, density
## 14: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, weight, density
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, weight, density, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, sweep.prod
## 
##  bow_avg 
## 1: SWV
## 2: SWV, density
## 3: SWV, m_taper, density
## 4: SWV, m_led, m_a0, density
## 5: SWV, m_led, m_a0, m_ovality, density
## 6: SWV, m_led, m_a0, m_ovality, weight, density
## 7: SWV, m_led, m_a0, m_ovality, m_whorliness, weight, density
## 8: SWV, m_volume, m_a0, m_a1, m_a2, m_taper, m_whorliness, density
## 9: SWV, m_volume, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, density
## 10: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, density
## 11: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, m_sweep1, density
## 12: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, m_sweep1, density
## 13: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, m_sweep1, weight, density
## 14: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, m_sweep1, weight, density, sweep.prod
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, m_sweep1, weight, density, hw.vfrac, sweep.prod
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_ovality, m_whorliness, m_sweep1, m_sweep2, weight, density, hw.vfrac, sweep.prod
## 
##  twist_avg 
## 1: SWV
## 2: SWV, m_led
## 3: SWV, m_volume, weight
## 4: SWV, m_volume, m_waist, weight
## 5: SWV, m_volume, m_waist, m_sweep1, weight
## 6: SWV, m_volume, m_a2, m_waist, m_sweep1, weight
## 7: SWV, m_volume, m_a1, m_taper, m_waist, m_sweep1, weight
## 8: SWV, m_volume, m_a1, m_taper, m_waist, m_ovality, m_sweep1, weight
## 9: SWV, m_volume, m_a1, m_a2, m_taper, m_waist, m_ovality, m_sweep1, density
## 10: SWV, m_volume, m_a1, m_a2, m_taper, m_waist, m_ovality, m_sweep1, m_sweep2, density
## 11: SWV, m_volume, m_led, m_a0, m_a1, m_taper, m_waist, m_ovality, m_sweep1, m_sweep2, density
## 12: SWV, m_led, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_sweep1, m_sweep2, density, hw.vfrac
## 13: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_sweep1, m_sweep2, density, hw.vfrac
## 14: SWV, m_volume, m_led, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, hw.vfrac
## 15: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, hw.vfrac
## 16: SWV, m_volume, m_led, m_sed, m_a0, m_a1, m_a2, m_taper, m_waist, m_ovality, m_whorliness, m_sweep1, m_sweep2, density, hw.vfrac, sweep.prod

Note: other R packages include bestglm, subselect, leaps, glmulti.

LL <- L[,predictors]
LL$y = L$E.avg.dyn
m.0 <- glm(y ~ ., LL, family=gaussian(link="identity")) # equiv to a linear model
m.best <- glmulti(m.0, method="l", level=1) # level=1 forces no interactions
## Initialization...
## TASK: Exhaustive screening of candidate set, branch-and-bound algorithm.
## [ Be sure to have package leaps installed ]
## Fitting...
## Completed.
## 200 first best models identified.
# sloooooooow!

From ML, May 8:

To do: * Any further models needed for warp? Why are models significantly poorer than KPP – due to compression wood outliers being removed in the KPP analysis? * Is a stiffness segregation device required on the edger? i.e. what % of lumber that is not from the cant has stiffness below 6GPa? If this is a major lets drop it. * Do we need to say anything about the mc data (NMI and aquascan)? A comment on importance of mc in warp expression and the variability we saw would be useful. * Any further implications for JNL trial?

3.3 Inner and Outer Models

3.3.1 MoE

grid.arrange(
  xyplot(E.gradient ~ E.d.hitman_avg, L),
  xyplot(E.gradient ~ volume, L),
ncol=2)

Reasonable range in inner:outer stiffness. Independent of overall stiffness and size.

See models below.

3.3.2 Crook

  summary(m <- best.linear.model(L$crook_avg))
## 
## Call:
## lm(formula = y ~ density + sweep.prod + m_a2, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.4455 -1.4960 -0.3582  0.9658 10.4465 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 11.763314   2.899084   4.058  8.9e-05 ***
## density     -0.007900   0.003032  -2.605   0.0104 *  
## sweep.prod   1.885969   0.839433   2.247   0.0265 *  
## m_a2        -0.012981   0.006966  -1.863   0.0649 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.238 on 119 degrees of freedom
## Multiple R-squared:  0.1293, Adjusted R-squared:  0.1073 
## F-statistic: 5.888 on 3 and 119 DF,  p-value: 0.0008794
  summary(m <- best.linear.model(L$crook_avg_inner))
## 
## Call:
## lm(formula = y ~ SWV + m_volume + weight, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.8585 -2.2262 -0.9317  1.9024 14.3969 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 13.692827   4.710130   2.907 0.004371 ** 
## SWV         -0.002810   0.001344  -2.091 0.038756 *  
## m_volume    40.881127  10.858042   3.765 0.000263 ***
## weight      -0.036638   0.010143  -3.612 0.000450 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.388 on 116 degrees of freedom
## Multiple R-squared:  0.1348, Adjusted R-squared:  0.1124 
## F-statistic: 6.026 on 3 and 116 DF,  p-value: 0.0007514
  summary(m <- best.linear.model(L$crook_avg_outer))
## 
## Call:
## lm(formula = y ~ SWV + m_led, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -5.0260 -1.6590 -0.2693  1.2890 10.3030 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 17.896113   4.321842   4.141 7.05e-05 ***
## SWV         -0.003170   0.001128  -2.809  0.00593 ** 
## m_led       -0.008465   0.003714  -2.280  0.02467 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.638 on 104 degrees of freedom
## Multiple R-squared:  0.08801,    Adjusted R-squared:  0.07047 
## F-statistic: 5.018 on 2 and 104 DF,  p-value: 0.008308

Best inner and outer models are both WORSE than total!

3.3.3 Bow

  summary(m <- best.linear.model(L$bow_avg))
## 
## Call:
## lm(formula = y ~ SWV + density + m_taper, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.0477 -2.3025 -0.5719  1.8777 16.4729 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 50.130387   7.768906   6.453 2.48e-09 ***
## SWV         -0.006338   0.001486  -4.265 4.04e-05 ***
## density     -0.016751   0.005007  -3.345  0.00110 ** 
## m_taper     -0.344437   0.128428  -2.682  0.00836 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.637 on 119 degrees of freedom
## Multiple R-squared:  0.1857, Adjusted R-squared:  0.1651 
## F-statistic: 9.044 on 3 and 119 DF,  p-value: 1.925e-05
  summary(m <- best.linear.model(L$bow_avg_inner))
## 
## Call:
## lm(formula = y ~ SWV + m_ovality + density + m_taper + m_a2 + 
##     m_a1, data = LL)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -9.588 -3.326 -0.567  2.560 17.202 
## 
## Coefficients:
##               Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  5.375e+01  1.099e+01   4.891 3.35e-06 ***
## SWV         -8.798e-03  2.102e-03  -4.186 5.65e-05 ***
## m_ovality    1.686e+03  6.535e+02   2.580  0.01116 *  
## density     -1.189e-02  6.972e-03  -1.706  0.09078 .  
## m_taper     -5.683e+00  1.801e+00  -3.155  0.00205 ** 
## m_a2         1.152e+00  3.796e-01   3.035  0.00299 ** 
## m_a1         1.124e+00  3.784e-01   2.971  0.00363 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 5.035 on 113 degrees of freedom
## Multiple R-squared:  0.2349, Adjusted R-squared:  0.1943 
## F-statistic: 5.782 on 6 and 113 DF,  p-value: 2.798e-05
  summary(m <- best.linear.model(L$bow_avg_outer))
## 
## Call:
## lm(formula = y ~ SWV + density + m_taper, data = LL)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -10.252  -3.351  -1.038   2.422  29.742 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 79.129663  14.626657   5.410 4.12e-07 ***
## SWV         -0.010528   0.002726  -3.862 0.000197 ***
## density     -0.031996   0.009811  -3.261 0.001505 ** 
## m_taper     -0.506055   0.223307  -2.266 0.025531 *  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.205 on 103 degrees of freedom
## Multiple R-squared:  0.1841, Adjusted R-squared:  0.1603 
## F-statistic: 7.746 on 3 and 103 DF,  p-value: 0.0001026

3.3.4 Outer c.f. Inner

Do logs with lousy inner boards also have lousy outer boards?

xyplot(crook_avg_outer ~ crook_avg_inner, L)
xyplot(bow_avg_outer ~ bow_avg_inner, L)
xyplot(twist_avg_outer ~ twist_avg_inner, L)

No. Outer and Inner pretty much uncorrelated.

3.4 Reduced Datasets

If we look only at subsets of logs that are in some way ‘good’, do we get similar prediction models?

3.4.1 Marco’s CW-free logs

Fit models only to logs Marco identified as not appearing to contain significant CW based on log end imagery.

both.ends.severe.cw = c(189, 210, 212, 222)
both.ends.moderate.cw = c(123, 135, 144, 159, 178, 188, 190, 208)
for (lmeas in log.quality.measures) {
  models <- cf.full(lmeas, idx.sub=!L$SWILogNumber%in%union(both.ends.severe.cw,both.ends.moderate.cw)) 
}

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
    m_waist + m_a2 + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7188 -0.3894 -0.0142  0.4668  1.6611 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
density       8.795e-03  2.283e-03   3.853 0.000194 ***
m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7937 on 114 degrees of freedom
Multiple R-squared:  0.7588,    Adjusted R-squared:  0.7419 
F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + m_waist + 
    m_a2 + hw.vfrac + m_sweep2 + m_a0, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5739 -0.3175  0.0217  0.4540  1.5333 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.047e+01  2.447e+00  -4.278 4.29e-05 ***
SWV           4.768e-03  3.652e-04  13.057  < 2e-16 ***
density       6.581e-03  1.932e-03   3.406 0.000946 ***
m_volume      5.065e+00  2.618e+00   1.934 0.055850 .  
m_whorliness -6.711e-01  3.047e-01  -2.203 0.029878 *  
m_waist       1.220e+01  4.461e+00   2.736 0.007347 ** 
m_a2         -1.260e-01  4.891e-02  -2.576 0.011452 *  
hw.vfrac     -2.697e+00  1.305e+00  -2.067 0.041336 *  
m_sweep2     -1.142e+00  7.638e-01  -1.495 0.138099    
m_a0         -1.007e-02  6.810e-03  -1.478 0.142449    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7889 on 101 degrees of freedom
Multiple R-squared:  0.7525,    Adjusted R-squared:  0.7304 
F-statistic: 34.11 on 9 and 101 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
    m_waist + m_a2 + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7188 -0.3894 -0.0142  0.4668  1.6611 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
density       8.795e-03  2.283e-03   3.853 0.000194 ***
m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7937 on 114 degrees of freedom
Multiple R-squared:  0.7588,    Adjusted R-squared:  0.7419 
F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + m_waist + 
    m_a2 + hw.vfrac + m_sweep2 + m_a0, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.5739 -0.3175  0.0217  0.4540  1.5333 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.047e+01  2.447e+00  -4.278 4.29e-05 ***
SWV           4.768e-03  3.652e-04  13.057  < 2e-16 ***
density       6.581e-03  1.932e-03   3.406 0.000946 ***
m_volume      5.065e+00  2.618e+00   1.934 0.055850 .  
m_whorliness -6.711e-01  3.047e-01  -2.203 0.029878 *  
m_waist       1.220e+01  4.461e+00   2.736 0.007347 ** 
m_a2         -1.260e-01  4.891e-02  -2.576 0.011452 *  
hw.vfrac     -2.697e+00  1.305e+00  -2.067 0.041336 *  
m_sweep2     -1.142e+00  7.638e-01  -1.495 0.138099    
m_a0         -1.007e-02  6.810e-03  -1.478 0.142449    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7889 on 101 degrees of freedom
Multiple R-squared:  0.7525,    Adjusted R-squared:  0.7304 
F-statistic: 34.11 on 9 and 101 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1729 -0.5000 -0.1065  0.6968  3.3610 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.192e+01  2.354e+00  -5.063 1.60e-06 ***
SWV           3.599e-03  4.353e-04   8.268 2.82e-13 ***
density       1.150e-02  1.530e-03   7.513 1.41e-11 ***
m_a0         -5.816e-03  1.587e-03  -3.665 0.000377 ***
m_whorliness -1.122e+00  3.675e-01  -3.054 0.002809 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.072 on 114 degrees of freedom
Multiple R-squared:  0.5955,    Adjusted R-squared:  0.5813 
F-statistic: 41.96 on 4 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness + m_ovality, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.0947 -0.5504 -0.0438  0.5584  3.3936 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.086e+01  2.500e+00  -4.343 3.36e-05 ***
SWV           3.464e-03  4.597e-04   7.536 2.14e-11 ***
density       1.089e-02  1.605e-03   6.785 8.06e-10 ***
m_a0         -6.062e-03  1.679e-03  -3.610 0.000478 ***
m_whorliness -1.029e+00  3.928e-01  -2.620 0.010145 *  
m_ovality    -2.438e+02  1.536e+02  -1.587 0.115612    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.086 on 101 degrees of freedom
Multiple R-squared:  0.5851,    Adjusted R-squared:  0.5646 
F-statistic: 28.49 on 5 and 101 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + hw.vfrac + sweep.prod + m_a1 + m_ovality, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4250 -0.7854  0.0482  0.7849  3.4290 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -7.766e+00  1.927e+00  -4.031  0.00011 ***
SWV          6.280e-03  5.832e-04  10.768  < 2e-16 ***
hw.vfrac    -7.427e+00  1.351e+00  -5.499 3.04e-07 ***
sweep.prod  -1.545e+00  5.176e-01  -2.984  0.00359 ** 
m_a1        -1.233e-02  4.302e-03  -2.865  0.00510 ** 
m_ovality    3.087e+02  1.710e+02   1.805  0.07412 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.287 on 98 degrees of freedom
Multiple R-squared:  0.6554,    Adjusted R-squared:  0.6379 
F-statistic: 37.28 on 5 and 98 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + sweep.prod + m_a1 + hw.vfrac + 
    m_ovality, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.1560 -0.6863  0.0343  0.8042  2.6647 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.139e+01  4.194e+00  -2.715  0.00804 ** 
SWV          5.770e-03  6.256e-04   9.224  1.9e-14 ***
density      4.724e-03  3.399e-03   1.390  0.16823    
sweep.prod  -1.628e+00  5.467e-01  -2.978  0.00378 ** 
m_a1        -1.035e-02  4.434e-03  -2.335  0.02193 *  
hw.vfrac    -4.051e+00  2.193e+00  -1.847  0.06817 .  
m_ovality    3.212e+02  1.852e+02   1.735  0.08645 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.278 on 85 degrees of freedom
Multiple R-squared:  0.6435,    Adjusted R-squared:  0.6183 
F-statistic: 25.57 on 6 and 85 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + m_a0 + weight + sweep.prod + m_ovality + 
    m_waist + m_whorliness + hw.vfrac + m_volume, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.30929 -0.07260 -0.01550  0.07418  0.46518 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   1.593e+00  2.730e-01   5.835 8.17e-08 ***
SWV          -1.022e-04  6.432e-05  -1.589  0.11554    
m_a0         -2.873e-03  1.498e-03  -1.918  0.05826 .  
weight        1.824e-03  6.152e-04   2.965  0.00386 ** 
sweep.prod    1.494e-01  5.605e-02   2.666  0.00909 ** 
m_ovality    -4.085e+01  1.764e+01  -2.315  0.02283 *  
m_waist      -9.980e-02  4.626e-02  -2.157  0.03363 *  
m_whorliness -1.013e-01  5.049e-02  -2.006  0.04784 *  
hw.vfrac      4.014e-01  1.986e-01   2.022  0.04615 *  
m_volume     -9.624e-01  6.685e-01  -1.440  0.15342    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1306 on 91 degrees of freedom
Multiple R-squared:  0.3267,    Adjusted R-squared:  0.2601 
F-statistic: 4.906 on 9 and 91 DF,  p-value: 2.309e-05

Call:
lm(formula = y ~ SWV + m_a0 + m_ovality + m_a1 + sweep.prod + 
    m_whorliness, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.26629 -0.09705 -0.01340  0.08638  0.40959 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   1.255e+00  2.648e-01   4.740 8.87e-06 ***
SWV          -9.189e-05  6.678e-05  -1.376  0.17260    
m_a0         -5.244e-04  2.441e-04  -2.148  0.03463 *  
m_ovality    -5.495e+01  2.016e+01  -2.726  0.00785 ** 
m_a1          1.245e-03  5.240e-04   2.375  0.01988 *  
sweep.prod    1.389e-01  6.114e-02   2.271  0.02575 *  
m_whorliness -9.449e-02  5.480e-02  -1.724  0.08842 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1379 on 82 degrees of freedom
Multiple R-squared:  0.2763,    Adjusted R-squared:  0.2233 
F-statistic: 5.217 on 6 and 82 DF,  p-value: 0.0001364

Call:
lm(formula = y ~ density + sweep.prod + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4455 -1.4960 -0.3582  0.9658 10.4465 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 11.763314   2.899084   4.058  8.9e-05 ***
density     -0.007900   0.003032  -2.605   0.0104 *  
sweep.prod   1.885969   0.839433   2.247   0.0265 *  
m_a2        -0.012981   0.006966  -1.863   0.0649 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.238 on 119 degrees of freedom
Multiple R-squared:  0.1293,    Adjusted R-squared:  0.1073 
F-statistic: 5.888 on 3 and 119 DF,  p-value: 0.0008794

Call:
lm(formula = y ~ SWV + density + sweep.prod + m_ovality, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4305 -1.1562 -0.0191  0.9019  7.1817 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  2.032e+01  3.949e+00   5.147 1.23e-06 ***
SWV         -1.813e-03  7.203e-04  -2.517   0.0134 *  
density     -1.063e-02  2.546e-03  -4.176 6.10e-05 ***
sweep.prod   1.206e+00  7.035e-01   1.715   0.0893 .  
m_ovality   -3.550e+02  2.412e+02  -1.472   0.1441    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.728 on 106 degrees of freedom
Multiple R-squared:  0.231, Adjusted R-squared:  0.202 
F-statistic: 7.961 on 4 and 106 DF,  p-value: 1.19e-05

Call:
lm(formula = y ~ SWV + m_volume + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.8585 -2.2262 -0.9317  1.9024 14.3969 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 13.692827   4.710130   2.907 0.004371 ** 
SWV         -0.002810   0.001344  -2.091 0.038756 *  
m_volume    40.881127  10.858042   3.765 0.000263 ***
weight      -0.036638   0.010143  -3.612 0.000450 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.388 on 116 degrees of freedom
Multiple R-squared:  0.1348,    Adjusted R-squared:  0.1124 
F-statistic: 6.026 on 3 and 116 DF,  p-value: 0.0007514

Call:
lm(formula = y ~ SWV + density + m_led, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0202 -2.3430 -0.7896  1.6908  9.9622 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 25.464085   6.679669   3.812 0.000234 ***
SWV         -0.003110   0.001245  -2.498 0.014057 *  
density     -0.013907   0.004337  -3.207 0.001784 ** 
m_led        0.009205   0.004313   2.135 0.035147 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.015 on 104 degrees of freedom
Multiple R-squared:  0.158, Adjusted R-squared:  0.1337 
F-statistic: 6.504 on 3 and 104 DF,  p-value: 0.0004466

Call:
lm(formula = y ~ SWV + m_led, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0260 -1.6590 -0.2693  1.2890 10.3030 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 17.896113   4.321842   4.141 7.05e-05 ***
SWV         -0.003170   0.001128  -2.809  0.00593 ** 
m_led       -0.008465   0.003714  -2.280  0.02467 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.638 on 104 degrees of freedom
Multiple R-squared:  0.08801,   Adjusted R-squared:  0.07047 
F-statistic: 5.018 on 2 and 104 DF,  p-value: 0.008308

Call:
lm(formula = y ~ SWV + m_waist, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-4.117 -1.458 -0.410  1.079 10.302 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 13.8823417  3.0823416   4.504 1.95e-05 ***
SWV         -0.0029211  0.0009381  -3.114  0.00246 ** 
m_waist     -1.1009265  0.6672926  -1.650  0.10239    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.211 on 92 degrees of freedom
Multiple R-squared:  0.1247,    Adjusted R-squared:  0.1057 
F-statistic: 6.552 on 2 and 92 DF,  p-value: 0.002186

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.0477 -2.3025 -0.5719  1.8777 16.4729 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 50.130387   7.768906   6.453 2.48e-09 ***
SWV         -0.006338   0.001486  -4.265 4.04e-05 ***
density     -0.016751   0.005007  -3.345  0.00110 ** 
m_taper     -0.344437   0.128428  -2.682  0.00836 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.637 on 119 degrees of freedom
Multiple R-squared:  0.1857,    Adjusted R-squared:  0.1651 
F-statistic: 9.044 on 3 and 119 DF,  p-value: 1.925e-05

Call:
lm(formula = y ~ SWV + m_taper + density, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-7.9845 -2.2948 -0.4606  1.9663 10.3078 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 48.551065   7.570629   6.413 3.96e-09 ***
SWV         -0.006247   0.001435  -4.352 3.10e-05 ***
m_taper     -0.397326   0.124624  -3.188  0.00188 ** 
density     -0.015006   0.004846  -3.096  0.00250 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.399 on 107 degrees of freedom
Multiple R-squared:  0.2081,    Adjusted R-squared:  0.1859 
F-statistic: 9.374 on 3 and 107 DF,  p-value: 1.484e-05

Call:
lm(formula = y ~ SWV + m_ovality + density + m_taper + m_a2 + 
    m_a1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.588 -3.326 -0.567  2.560 17.202 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  5.375e+01  1.099e+01   4.891 3.35e-06 ***
SWV         -8.798e-03  2.102e-03  -4.186 5.65e-05 ***
m_ovality    1.686e+03  6.535e+02   2.580  0.01116 *  
density     -1.189e-02  6.972e-03  -1.706  0.09078 .  
m_taper     -5.683e+00  1.801e+00  -3.155  0.00205 ** 
m_a2         1.152e+00  3.796e-01   3.035  0.00299 ** 
m_a1         1.124e+00  3.784e-01   2.971  0.00363 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.035 on 113 degrees of freedom
Multiple R-squared:  0.2349,    Adjusted R-squared:  0.1943 
F-statistic: 5.782 on 6 and 113 DF,  p-value: 2.798e-05

Call:
lm(formula = y ~ SWV + m_taper + density, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.940 -3.403 -1.019  2.381 18.284 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 51.382178  11.420289   4.499 1.78e-05 ***
SWV         -0.008108   0.002159  -3.756 0.000285 ***
m_taper     -0.327377   0.189276  -1.730 0.086664 .  
density     -0.011032   0.007287  -1.514 0.133050    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.095 on 104 degrees of freedom
Multiple R-squared:  0.125, Adjusted R-squared:  0.09974 
F-statistic: 4.952 on 3 and 104 DF,  p-value: 0.002973

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-10.252  -3.351  -1.038   2.422  29.742 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 79.129663  14.626657   5.410 4.12e-07 ***
SWV         -0.010528   0.002726  -3.862 0.000197 ***
density     -0.031996   0.009811  -3.261 0.001505 ** 
m_taper     -0.506055   0.223307  -2.266 0.025531 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.205 on 103 degrees of freedom
Multiple R-squared:  0.1841,    Adjusted R-squared:  0.1603 
F-statistic: 7.746 on 3 and 103 DF,  p-value: 0.0001026

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-10.092  -3.756  -1.261   2.495  30.034 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 76.685764  15.857936   4.836 5.37e-06 ***
SWV         -0.010301   0.002924  -3.523  0.00067 ***
density     -0.029706   0.010557  -2.814  0.00600 ** 
m_taper     -0.557956   0.239664  -2.328  0.02212 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.389 on 91 degrees of freedom
Multiple R-squared:  0.1738,    Adjusted R-squared:  0.1465 
F-statistic: 6.379 on 3 and 91 DF,  p-value: 0.0005678

Call:
lm(formula = y ~ SWV + m_led + density + m_sweep1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4066 -1.2787 -0.0760  0.9479  4.7106 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.4492981  3.6590429   4.222 4.78e-05 ***
SWV         -0.0037534  0.0006806  -5.515 2.09e-07 ***
m_led       -0.0134794  0.0022060  -6.110 1.32e-08 ***
density      0.0055963  0.0023843   2.347   0.0206 *  
m_sweep1    -0.4608379  0.2696113  -1.709   0.0900 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.715 on 118 degrees of freedom
Multiple R-squared:  0.3499,    Adjusted R-squared:  0.3278 
F-statistic: 15.88 on 4 and 118 DF,  p-value: 2.005e-10

Call:
lm(formula = y ~ SWV + m_led + density + m_waist, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4961 -1.2907 -0.0032  0.9639  4.5572 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 12.9667427  3.9250009   3.304   0.0013 ** 
SWV         -0.0033431  0.0007334  -4.558 1.39e-05 ***
m_led       -0.0129257  0.0025281  -5.113 1.42e-06 ***
density      0.0061041  0.0025141   2.428   0.0169 *  
m_waist     -0.8263980  0.5543254  -1.491   0.1390    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.753 on 106 degrees of freedom
Multiple R-squared:  0.3634,    Adjusted R-squared:  0.3394 
F-statistic: 15.13 on 4 and 106 DF,  p-value: 8.167e-10

Call:
lm(formula = y ~ SWV + m_led + density + m_a0 + m_sweep1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0033 -1.6639 -0.0643  1.3943  6.1180 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.8020819  5.1682682   3.058 0.002766 ** 
SWV         -0.0042191  0.0009682  -4.358 2.84e-05 ***
m_led       -0.0582205  0.0171397  -3.397 0.000932 ***
density      0.0120244  0.0032843   3.661 0.000378 ***
m_a0         0.0419754  0.0178312   2.354 0.020237 *  
m_sweep1    -0.7225779  0.3724343  -1.940 0.054768 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.363 on 117 degrees of freedom
Multiple R-squared:  0.3614,    Adjusted R-squared:  0.3341 
F-statistic: 13.24 on 5 and 117 DF,  p-value: 3.178e-10

Call:
lm(formula = y ~ SWV + m_led + density + m_taper + m_sweep1, 
    data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-4.916 -1.708  0.173  1.350  5.956 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 14.138408   5.421189   2.608 0.010434 *  
SWV         -0.003843   0.001006  -3.820 0.000226 ***
m_led       -0.016962   0.003277  -5.175  1.1e-06 ***
density      0.013002   0.003395   3.829 0.000219 ***
m_taper     -0.223891   0.091147  -2.456 0.015674 *  
m_sweep1    -0.615403   0.396020  -1.554 0.123201    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.352 on 105 degrees of freedom
Multiple R-squared:  0.3894,    Adjusted R-squared:  0.3603 
F-statistic: 13.39 on 5 and 105 DF,  p-value: 4.249e-10

3.4.2 JH ‘well-represented’ logs

  1. chosen by vfrac rec
rec = L$nboards.complete/L$volume
for (lmeas in log.quality.measures) {
  models <- cf.full(lmeas, idx.sub=rec>quantile(rec, 0.8))
}

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
    m_waist + m_a2 + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7188 -0.3894 -0.0142  0.4668  1.6611 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
density       8.795e-03  2.283e-03   3.853 0.000194 ***
m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7937 on 114 degrees of freedom
Multiple R-squared:  0.7588,    Adjusted R-squared:  0.7419 
F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a2 + m_volume + m_sed, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.54313 -0.28391 -0.03725  0.19775  0.96497 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.924e+01  2.340e+00  -8.225 1.11e-07 ***
SWV          7.105e-03  4.448e-04  15.972 1.81e-12 ***
density      9.090e-03  1.649e-03   5.513 2.56e-05 ***
m_a2         1.726e-02  4.202e-03   4.108 0.000599 ***
m_volume     1.159e+01  4.388e+00   2.641 0.016118 *  
m_sed       -2.572e-02  1.148e-02  -2.240 0.037236 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4123 on 19 degrees of freedom
Multiple R-squared:  0.9458,    Adjusted R-squared:  0.9315 
F-statistic: 66.25 on 5 and 19 DF,  p-value: 2.328e-11

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
    m_waist + m_a2 + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7188 -0.3894 -0.0142  0.4668  1.6611 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
density       8.795e-03  2.283e-03   3.853 0.000194 ***
m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7937 on 114 degrees of freedom
Multiple R-squared:  0.7588,    Adjusted R-squared:  0.7419 
F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_a2 + m_volume + m_sed, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.54313 -0.28391 -0.03725  0.19775  0.96497 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.924e+01  2.340e+00  -8.225 1.11e-07 ***
SWV          7.105e-03  4.448e-04  15.972 1.81e-12 ***
density      9.090e-03  1.649e-03   5.513 2.56e-05 ***
m_a2         1.726e-02  4.202e-03   4.108 0.000599 ***
m_volume     1.159e+01  4.388e+00   2.641 0.016118 *  
m_sed       -2.572e-02  1.148e-02  -2.240 0.037236 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.4123 on 19 degrees of freedom
Multiple R-squared:  0.9458,    Adjusted R-squared:  0.9315 
F-statistic: 66.25 on 5 and 19 DF,  p-value: 2.328e-11

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1729 -0.5000 -0.1065  0.6968  3.3610 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.192e+01  2.354e+00  -5.063 1.60e-06 ***
SWV           3.599e-03  4.353e-04   8.268 2.82e-13 ***
density       1.150e-02  1.530e-03   7.513 1.41e-11 ***
m_a0         -5.816e-03  1.587e-03  -3.665 0.000377 ***
m_whorliness -1.122e+00  3.675e-01  -3.054 0.002809 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.072 on 114 degrees of freedom
Multiple R-squared:  0.5955,    Adjusted R-squared:  0.5813 
F-statistic: 41.96 on 4 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + hw.vfrac + m_a0 + m_volume + density, 
    data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.91656 -0.34733 -0.04219  0.31480  0.82119 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -1.7131215  4.1012052  -0.418 0.680841    
SWV          0.0040847  0.0005567   7.337 5.91e-07 ***
hw.vfrac    -5.0581109  2.5973034  -1.947 0.066414 .  
m_a0        -0.0636203  0.0138105  -4.607 0.000193 ***
m_volume    22.4440045  5.2038101   4.313 0.000375 ***
density      0.0089556  0.0033116   2.704 0.014058 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.5285 on 19 degrees of freedom
Multiple R-squared:  0.8812,    Adjusted R-squared:  0.8499 
F-statistic: 28.18 on 5 and 19 DF,  p-value: 3.641e-08

Call:
lm(formula = y ~ SWV + hw.vfrac + sweep.prod + m_a1 + m_ovality, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4250 -0.7854  0.0482  0.7849  3.4290 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -7.766e+00  1.927e+00  -4.031  0.00011 ***
SWV          6.280e-03  5.832e-04  10.768  < 2e-16 ***
hw.vfrac    -7.427e+00  1.351e+00  -5.499 3.04e-07 ***
sweep.prod  -1.545e+00  5.176e-01  -2.984  0.00359 ** 
m_a1        -1.233e-02  4.302e-03  -2.865  0.00510 ** 
m_ovality    3.087e+02  1.710e+02   1.805  0.07412 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.287 on 98 degrees of freedom
Multiple R-squared:  0.6554,    Adjusted R-squared:  0.6379 
F-statistic: 37.28 on 5 and 98 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + m_waist + m_sed + m_a2 + weight + sweep.prod + 
    m_ovality + m_led + hw.vfrac + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0750 -0.4239  0.1444  0.2693  0.8097 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -3.076e+01  3.618e+00  -8.502 1.14e-06 ***
SWV          8.936e-03  7.622e-04  11.724 2.76e-08 ***
m_waist      1.672e+01  9.097e+00   1.838 0.088954 .  
m_sed       -7.129e-02  2.816e-02  -2.531 0.025075 *  
m_a2        -1.812e-01  1.009e-01  -1.796 0.095739 .  
weight      -2.836e-02  8.900e-03  -3.187 0.007147 ** 
sweep.prod  -2.458e+00  6.785e-01  -3.622 0.003099 ** 
m_ovality    4.089e+02  2.158e+02   1.895 0.080590 .  
m_led        1.584e-01  3.116e-02   5.084 0.000210 ***
hw.vfrac    -1.175e+01  3.797e+00  -3.096 0.008514 ** 
m_taper     -6.774e-01  1.384e-01  -4.895 0.000293 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.5736 on 13 degrees of freedom
Multiple R-squared:  0.9652,    Adjusted R-squared:  0.9385 
F-statistic: 36.07 on 10 and 13 DF,  p-value: 7.747e-08

Call:
lm(formula = y ~ SWV + m_a0 + weight + sweep.prod + m_ovality + 
    m_waist + m_whorliness + hw.vfrac + m_volume, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.30929 -0.07260 -0.01550  0.07418  0.46518 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   1.593e+00  2.730e-01   5.835 8.17e-08 ***
SWV          -1.022e-04  6.432e-05  -1.589  0.11554    
m_a0         -2.873e-03  1.498e-03  -1.918  0.05826 .  
weight        1.824e-03  6.152e-04   2.965  0.00386 ** 
sweep.prod    1.494e-01  5.605e-02   2.666  0.00909 ** 
m_ovality    -4.085e+01  1.764e+01  -2.315  0.02283 *  
m_waist      -9.980e-02  4.626e-02  -2.157  0.03363 *  
m_whorliness -1.013e-01  5.049e-02  -2.006  0.04784 *  
hw.vfrac      4.014e-01  1.986e-01   2.022  0.04615 *  
m_volume     -9.624e-01  6.685e-01  -1.440  0.15342    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1306 on 91 degrees of freedom
Multiple R-squared:  0.3267,    Adjusted R-squared:  0.2601 
F-statistic: 4.906 on 9 and 91 DF,  p-value: 2.309e-05

Call:
lm(formula = y ~ SWV + m_a1 + m_led + weight + m_a2 + m_waist, 
    data = LL)

Residuals:
      Min        1Q    Median        3Q       Max 
-0.120950 -0.059044  0.007078  0.049744  0.109687 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.450e+00  4.638e-01   7.438 9.69e-07 ***
SWV         -3.106e-04  8.834e-05  -3.516 0.002648 ** 
m_a1         1.011e-02  2.230e-03   4.536 0.000292 ***
m_led       -9.221e-03  1.798e-03  -5.129 8.37e-05 ***
weight       2.791e-03  6.030e-04   4.629 0.000240 ***
m_a2         3.391e-02  1.381e-02   2.455 0.025164 *  
m_waist     -2.277e+00  1.167e+00  -1.951 0.067693 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.07677 on 17 degrees of freedom
Multiple R-squared:  0.7602,    Adjusted R-squared:  0.6755 
F-statistic: 8.982 on 6 and 17 DF,  p-value: 0.000165

Call:
lm(formula = y ~ density + sweep.prod + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4455 -1.4960 -0.3582  0.9658 10.4465 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 11.763314   2.899084   4.058  8.9e-05 ***
density     -0.007900   0.003032  -2.605   0.0104 *  
sweep.prod   1.885969   0.839433   2.247   0.0265 *  
m_a2        -0.012981   0.006966  -1.863   0.0649 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.238 on 119 degrees of freedom
Multiple R-squared:  0.1293,    Adjusted R-squared:  0.1073 
F-statistic: 5.888 on 3 and 119 DF,  p-value: 0.0008794

Call:
lm(formula = y ~ 1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.7292 -1.8292 -0.3007  0.7708 11.8958 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   4.7292     0.5789    8.17 2.17e-08 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.894 on 24 degrees of freedom

Call:
lm(formula = y ~ SWV + m_volume + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.8585 -2.2262 -0.9317  1.9024 14.3969 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 13.692827   4.710130   2.907 0.004371 ** 
SWV         -0.002810   0.001344  -2.091 0.038756 *  
m_volume    40.881127  10.858042   3.765 0.000263 ***
weight      -0.036638   0.010143  -3.612 0.000450 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.388 on 116 degrees of freedom
Multiple R-squared:  0.1348,    Adjusted R-squared:  0.1124 
F-statistic: 6.026 on 3 and 116 DF,  p-value: 0.0007514

Call:
lm(formula = y ~ m_volume + weight + m_taper, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-4.783 -1.768 -1.092  1.315 13.085 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)   
(Intercept)  2.80786    2.65177   1.059  0.30169   
m_volume    84.62191   29.75933   2.844  0.00973 **
weight      -0.06472    0.02624  -2.466  0.02234 * 
m_taper     -0.45353    0.32808  -1.382  0.18139   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.612 on 21 degrees of freedom
Multiple R-squared:  0.3839,    Adjusted R-squared:  0.2959 
F-statistic: 4.361 on 3 and 21 DF,  p-value: 0.01547

Call:
lm(formula = y ~ SWV + m_led, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0260 -1.6590 -0.2693  1.2890 10.3030 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 17.896113   4.321842   4.141 7.05e-05 ***
SWV         -0.003170   0.001128  -2.809  0.00593 ** 
m_led       -0.008465   0.003714  -2.280  0.02467 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.638 on 104 degrees of freedom
Multiple R-squared:  0.08801,   Adjusted R-squared:  0.07047 
F-statistic: 5.018 on 2 and 104 DF,  p-value: 0.008308

Call:
lm(formula = y ~ m_sweep2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.3294 -1.2981 -0.4824  0.3919  5.1041 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)    3.427      0.825   4.154 0.000414 ***
m_sweep2       4.677      3.104   1.506 0.146166    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.023 on 22 degrees of freedom
Multiple R-squared:  0.09351,   Adjusted R-squared:  0.05231 
F-statistic:  2.27 on 1 and 22 DF,  p-value: 0.1462

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.0477 -2.3025 -0.5719  1.8777 16.4729 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 50.130387   7.768906   6.453 2.48e-09 ***
SWV         -0.006338   0.001486  -4.265 4.04e-05 ***
density     -0.016751   0.005007  -3.345  0.00110 ** 
m_taper     -0.344437   0.128428  -2.682  0.00836 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.637 on 119 degrees of freedom
Multiple R-squared:  0.1857,    Adjusted R-squared:  0.1651 
F-statistic: 9.044 on 3 and 119 DF,  p-value: 1.925e-05

Call:
lm(formula = y ~ SWV + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.9225 -1.2890 -0.0818  1.2802  6.4691 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 49.658489  10.611518   4.680 0.000115 ***
SWV         -0.010896   0.002933  -3.715 0.001204 ** 
weight      -0.007575   0.003606  -2.101 0.047341 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.772 on 22 degrees of freedom
Multiple R-squared:  0.387, Adjusted R-squared:  0.3312 
F-statistic: 6.943 on 2 and 22 DF,  p-value: 0.004597

Call:
lm(formula = y ~ SWV + m_ovality + density + m_taper + m_a2 + 
    m_a1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.588 -3.326 -0.567  2.560 17.202 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  5.375e+01  1.099e+01   4.891 3.35e-06 ***
SWV         -8.798e-03  2.102e-03  -4.186 5.65e-05 ***
m_ovality    1.686e+03  6.535e+02   2.580  0.01116 *  
density     -1.189e-02  6.972e-03  -1.706  0.09078 .  
m_taper     -5.683e+00  1.801e+00  -3.155  0.00205 ** 
m_a2         1.152e+00  3.796e-01   3.035  0.00299 ** 
m_a1         1.124e+00  3.784e-01   2.971  0.00363 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.035 on 113 degrees of freedom
Multiple R-squared:  0.2349,    Adjusted R-squared:  0.1943 
F-statistic: 5.782 on 6 and 113 DF,  p-value: 2.798e-05

Call:
lm(formula = y ~ SWV + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-7.4272 -2.4475  0.3669  2.5876  9.4585 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)   
(Intercept) 63.664241  17.805276   3.576  0.00169 **
SWV         -0.014296   0.004921  -2.905  0.00820 **
weight      -0.012054   0.006050  -1.992  0.05888 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 4.651 on 22 degrees of freedom
Multiple R-squared:  0.2785,    Adjusted R-squared:  0.2129 
F-statistic: 4.246 on 2 and 22 DF,  p-value: 0.02758

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-10.252  -3.351  -1.038   2.422  29.742 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 79.129663  14.626657   5.410 4.12e-07 ***
SWV         -0.010528   0.002726  -3.862 0.000197 ***
density     -0.031996   0.009811  -3.261 0.001505 ** 
m_taper     -0.506055   0.223307  -2.266 0.025531 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.205 on 103 degrees of freedom
Multiple R-squared:  0.1841,    Adjusted R-squared:  0.1603 
F-statistic: 7.746 on 3 and 103 DF,  p-value: 0.0001026

Call:
lm(formula = y ~ SWV + m_sweep1 + m_whorliness + m_waist + m_a2 + 
    m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.9181 -1.5271  0.0877  1.1902  5.2000 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   5.254e+01  9.419e+00   5.578 3.33e-05 ***
SWV          -1.203e-02  2.447e-03  -4.916 0.000131 ***
m_sweep1      2.741e+00  9.456e-01   2.899 0.009986 ** 
m_whorliness -5.276e+00  3.207e+00  -1.645 0.118305    
m_waist      -1.255e+02  3.483e+01  -3.603 0.002194 ** 
m_a2          1.333e+00  3.872e-01   3.443 0.003102 ** 
m_taper      -5.297e-01  2.403e-01  -2.204 0.041581 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.452 on 17 degrees of freedom
Multiple R-squared:  0.7567,    Adjusted R-squared:  0.6708 
F-statistic: 8.813 on 6 and 17 DF,  p-value: 0.000185

Call:
lm(formula = y ~ SWV + m_led + density + m_sweep1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4066 -1.2787 -0.0760  0.9479  4.7106 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.4492981  3.6590429   4.222 4.78e-05 ***
SWV         -0.0037534  0.0006806  -5.515 2.09e-07 ***
m_led       -0.0134794  0.0022060  -6.110 1.32e-08 ***
density      0.0055963  0.0023843   2.347   0.0206 *  
m_sweep1    -0.4608379  0.2696113  -1.709   0.0900 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.715 on 118 degrees of freedom
Multiple R-squared:  0.3499,    Adjusted R-squared:  0.3278 
F-statistic: 15.88 on 4 and 118 DF,  p-value: 2.005e-10

Call:
lm(formula = y ~ SWV + m_volume + m_sed + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.6629 -0.5437  0.0701  0.5361  1.7949 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8.378129   5.832282   1.437 0.166317    
SWV          -0.004434   0.001188  -3.733 0.001313 ** 
m_volume    -58.040194  12.041565  -4.820 0.000104 ***
m_sed         0.077367   0.029462   2.626 0.016191 *  
weight        0.021395   0.008763   2.441 0.024051 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.111 on 20 degrees of freedom
Multiple R-squared:  0.6496,    Adjusted R-squared:  0.5795 
F-statistic:  9.27 on 4 and 20 DF,  p-value: 0.0002091

Call:
lm(formula = y ~ SWV + m_led + density + m_a0 + m_sweep1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0033 -1.6639 -0.0643  1.3943  6.1180 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.8020819  5.1682682   3.058 0.002766 ** 
SWV         -0.0042191  0.0009682  -4.358 2.84e-05 ***
m_led       -0.0582205  0.0171397  -3.397 0.000932 ***
density      0.0120244  0.0032843   3.661 0.000378 ***
m_a0         0.0419754  0.0178312   2.354 0.020237 *  
m_sweep1    -0.7225779  0.3724343  -1.940 0.054768 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.363 on 117 degrees of freedom
Multiple R-squared:  0.3614,    Adjusted R-squared:  0.3341 
F-statistic: 13.24 on 5 and 117 DF,  p-value: 3.178e-10

Call:
lm(formula = y ~ SWV + m_volume + m_sed + weight + m_whorliness, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2697 -0.8066 -0.1817  0.4722  4.0812 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   1.314e+01  1.073e+01   1.225 0.235540    
SWV          -7.987e-03  2.044e-03  -3.908 0.000946 ***
m_volume     -1.040e+02  1.992e+01  -5.221 4.86e-05 ***
m_sed         1.643e-01  4.913e-02   3.345 0.003400 ** 
weight        2.853e-02  1.445e-02   1.975 0.063015 .  
m_whorliness -3.948e+00  2.254e+00  -1.752 0.095980 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.832 on 19 degrees of freedom
Multiple R-squared:  0.6946,    Adjusted R-squared:  0.6142 
F-statistic: 8.643 on 5 and 19 DF,  p-value: 0.0002084
  1. Chosen by visual inspection of saw patterns
xyplot(rec ~ volume, L, group=SWILogNumber%in%near.complete.sawpatterns)
for (lmeas in log.quality.measures) {
  models <- cf.full(lmeas, idx.sub=L$SWILogNumber%in%near.complete.sawpatterns)
}

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
    m_waist + m_a2 + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7188 -0.3894 -0.0142  0.4668  1.6611 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
density       8.795e-03  2.283e-03   3.853 0.000194 ***
m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7937 on 114 degrees of freedom
Multiple R-squared:  0.7588,    Adjusted R-squared:  0.7419 
F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_volume + m_a0, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.78172 -0.07531  0.02873  0.12207  0.44726 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.127e+01  2.260e+00  -9.411 6.35e-08 ***
SWV          6.508e-03  4.077e-04  15.962 3.00e-11 ***
density      1.294e-02  1.552e-03   8.338 3.23e-07 ***
m_volume     8.942e+00  2.536e+00   3.526  0.00281 ** 
m_a0        -2.127e-02  7.121e-03  -2.986  0.00872 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3081 on 16 degrees of freedom
Multiple R-squared:  0.9645,    Adjusted R-squared:  0.9556 
F-statistic: 108.7 on 4 and 16 DF,  p-value: 2.201e-11

Call:
lm(formula = y ~ SWV + density + m_volume + m_whorliness + hw.vfrac + 
    m_waist + m_a2 + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.7188 -0.3894 -0.0142  0.4668  1.6611 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.481e+01  2.507e+00  -5.909 3.64e-08 ***
SWV           5.044e-03  3.339e-04  15.108  < 2e-16 ***
density       8.795e-03  2.283e-03   3.853 0.000194 ***
m_volume      8.452e+00  4.310e+00   1.961 0.052331 .  
m_whorliness -9.294e-01  2.709e-01  -3.430 0.000840 ***
hw.vfrac     -3.476e+00  1.260e+00  -2.758 0.006782 ** 
m_waist       1.269e+01  4.630e+00   2.741 0.007107 ** 
m_a2         -1.329e-01  5.087e-02  -2.613 0.010186 *  
weight       -6.934e-03  4.161e-03  -1.666 0.098377 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7937 on 114 degrees of freedom
Multiple R-squared:  0.7588,    Adjusted R-squared:  0.7419 
F-statistic: 44.84 on 8 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_volume + m_a0, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.78172 -0.07531  0.02873  0.12207  0.44726 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -2.127e+01  2.260e+00  -9.411 6.35e-08 ***
SWV          6.508e-03  4.077e-04  15.962 3.00e-11 ***
density      1.294e-02  1.552e-03   8.338 3.23e-07 ***
m_volume     8.942e+00  2.536e+00   3.526  0.00281 ** 
m_a0        -2.127e-02  7.121e-03  -2.986  0.00872 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3081 on 16 degrees of freedom
Multiple R-squared:  0.9645,    Adjusted R-squared:  0.9556 
F-statistic: 108.7 on 4 and 16 DF,  p-value: 2.201e-11

Call:
lm(formula = y ~ SWV + density + m_a0 + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.1729 -0.5000 -0.1065  0.6968  3.3610 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -1.192e+01  2.354e+00  -5.063 1.60e-06 ***
SWV           3.599e-03  4.353e-04   8.268 2.82e-13 ***
density       1.150e-02  1.530e-03   7.513 1.41e-11 ***
m_a0         -5.816e-03  1.587e-03  -3.665 0.000377 ***
m_whorliness -1.122e+00  3.675e-01  -3.054 0.002809 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.072 on 114 degrees of freedom
Multiple R-squared:  0.5955,    Adjusted R-squared:  0.5813 
F-statistic: 41.96 on 4 and 114 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_sed, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0738 -0.5355 -0.3353  0.2977  3.1070 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept) -13.781815   6.661096  -2.069  0.05410 . 
SWV           0.004724   0.001308   3.612  0.00215 **
density       0.009929   0.005129   1.936  0.06971 . 
m_sed        -0.007942   0.004139  -1.919  0.07196 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.024 on 17 degrees of freedom
Multiple R-squared:  0.7287,    Adjusted R-squared:  0.6808 
F-statistic: 15.22 on 3 and 17 DF,  p-value: 4.565e-05

Call:
lm(formula = y ~ SWV + hw.vfrac + sweep.prod + m_a1 + m_ovality, 
    data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.4250 -0.7854  0.0482  0.7849  3.4290 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) -7.766e+00  1.927e+00  -4.031  0.00011 ***
SWV          6.280e-03  5.832e-04  10.768  < 2e-16 ***
hw.vfrac    -7.427e+00  1.351e+00  -5.499 3.04e-07 ***
sweep.prod  -1.545e+00  5.176e-01  -2.984  0.00359 ** 
m_a1        -1.233e-02  4.302e-03  -2.865  0.00510 ** 
m_ovality    3.087e+02  1.710e+02   1.805  0.07412 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.287 on 98 degrees of freedom
Multiple R-squared:  0.6554,    Adjusted R-squared:  0.6379 
F-statistic: 37.28 on 5 and 98 DF,  p-value: < 2.2e-16

Call:
lm(formula = y ~ SWV + density + m_ovality + m_taper + m_volume + 
    m_whorliness + m_sweep1 + m_sed, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.41403 -0.10908 -0.05871  0.16459  0.46053 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)  -2.485e+01  2.754e+00  -9.023 4.04e-06 ***
SWV           7.034e-03  4.886e-04  14.395 5.19e-08 ***
density       1.412e-02  1.819e-03   7.758 1.54e-05 ***
m_ovality     3.203e+02  8.540e+01   3.751  0.00378 ** 
m_taper      -8.554e-02  2.615e-02  -3.271  0.00841 ** 
m_volume      5.671e+00  3.366e+00   1.685  0.12296    
m_whorliness  9.803e-01  4.407e-01   2.225  0.05030 .  
m_sweep1     -2.341e-01  1.388e-01  -1.687  0.12257    
m_sed        -1.083e-02  9.454e-03  -1.145  0.27874    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3186 on 10 degrees of freedom
Multiple R-squared:  0.979, Adjusted R-squared:  0.9622 
F-statistic: 58.24 on 8 and 10 DF,  p-value: 2.176e-07

Call:
lm(formula = y ~ SWV + m_a0 + weight + sweep.prod + m_ovality + 
    m_waist + m_whorliness + hw.vfrac + m_volume, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.30929 -0.07260 -0.01550  0.07418  0.46518 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   1.593e+00  2.730e-01   5.835 8.17e-08 ***
SWV          -1.022e-04  6.432e-05  -1.589  0.11554    
m_a0         -2.873e-03  1.498e-03  -1.918  0.05826 .  
weight        1.824e-03  6.152e-04   2.965  0.00386 ** 
sweep.prod    1.494e-01  5.605e-02   2.666  0.00909 ** 
m_ovality    -4.085e+01  1.764e+01  -2.315  0.02283 *  
m_waist      -9.980e-02  4.626e-02  -2.157  0.03363 *  
m_whorliness -1.013e-01  5.049e-02  -2.006  0.04784 *  
hw.vfrac      4.014e-01  1.986e-01   2.022  0.04615 *  
m_volume     -9.624e-01  6.685e-01  -1.440  0.15342    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1306 on 91 degrees of freedom
Multiple R-squared:  0.3267,    Adjusted R-squared:  0.2601 
F-statistic: 4.906 on 9 and 91 DF,  p-value: 2.309e-05

Call:
lm(formula = y ~ m_sed + m_led + m_whorliness + m_ovality, data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.12704 -0.06181 -0.01597  0.02134  0.39896 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)    1.177060   0.183065   6.430 1.57e-05 ***
m_sed         -0.006065   0.002268  -2.674   0.0181 *  
m_led          0.005024   0.002096   2.397   0.0311 *  
m_whorliness  -0.281484   0.163617  -1.720   0.1074    
m_ovality    -55.147196  34.460991  -1.600   0.1319    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.1313 on 14 degrees of freedom
Multiple R-squared:  0.4634,    Adjusted R-squared:  0.3101 
F-statistic: 3.022 on 4 and 14 DF,  p-value: 0.05437

Call:
lm(formula = y ~ density + sweep.prod + m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4455 -1.4960 -0.3582  0.9658 10.4465 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 11.763314   2.899084   4.058  8.9e-05 ***
density     -0.007900   0.003032  -2.605   0.0104 *  
sweep.prod   1.885969   0.839433   2.247   0.0265 *  
m_a2        -0.012981   0.006966  -1.863   0.0649 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.238 on 119 degrees of freedom
Multiple R-squared:  0.1293,    Adjusted R-squared:  0.1073 
F-statistic: 5.888 on 3 and 119 DF,  p-value: 0.0008794

Call:
lm(formula = y ~ m_a2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-2.9373 -1.2453 -0.7863  0.8503 10.0570 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  5.51987    0.65140   8.474 7.06e-08 ***
m_a2        -0.03430    0.02247  -1.527    0.143    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.88 on 19 degrees of freedom
Multiple R-squared:  0.1093,    Adjusted R-squared:  0.06238 
F-statistic: 2.331 on 1 and 19 DF,  p-value: 0.1433

Call:
lm(formula = y ~ SWV + m_volume + weight, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.8585 -2.2262 -0.9317  1.9024 14.3969 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 13.692827   4.710130   2.907 0.004371 ** 
SWV         -0.002810   0.001344  -2.091 0.038756 *  
m_volume    40.881127  10.858042   3.765 0.000263 ***
weight      -0.036638   0.010143  -3.612 0.000450 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.388 on 116 degrees of freedom
Multiple R-squared:  0.1348,    Adjusted R-squared:  0.1124 
F-statistic: 6.026 on 3 and 116 DF,  p-value: 0.0007514

Call:
lm(formula = y ~ 1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-4.6944 -2.4611 -0.2111  1.0389 13.3056 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   6.2944     0.8281   7.601 2.55e-07 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.795 on 20 degrees of freedom

Call:
lm(formula = y ~ SWV + m_led, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0260 -1.6590 -0.2693  1.2890 10.3030 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 17.896113   4.321842   4.141 7.05e-05 ***
SWV         -0.003170   0.001128  -2.809  0.00593 ** 
m_led       -0.008465   0.003714  -2.280  0.02467 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.638 on 104 degrees of freedom
Multiple R-squared:  0.08801,   Adjusted R-squared:  0.07047 
F-statistic: 5.018 on 2 and 104 DF,  p-value: 0.008308

Call:
lm(formula = y ~ SWV + m_a0 + m_volume + m_whorliness, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.2738 -1.6591  0.2471  1.1572  3.8664 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)   
(Intercept)  58.121087  16.530287   3.516  0.00312 **
SWV          -0.006592   0.003289  -2.004  0.06349 . 
m_a0         -0.147480   0.055683  -2.649  0.01824 * 
m_volume     44.246864  19.849162   2.229  0.04152 * 
m_whorliness -5.734834   3.022591  -1.897  0.07721 . 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.388 on 15 degrees of freedom
Multiple R-squared:  0.4737,    Adjusted R-squared:  0.3333 
F-statistic: 3.375 on 4 and 15 DF,  p-value: 0.03694

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.0477 -2.3025 -0.5719  1.8777 16.4729 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 50.130387   7.768906   6.453 2.48e-09 ***
SWV         -0.006338   0.001486  -4.265 4.04e-05 ***
density     -0.016751   0.005007  -3.345  0.00110 ** 
m_taper     -0.344437   0.128428  -2.682  0.00836 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.637 on 119 degrees of freedom
Multiple R-squared:  0.1857,    Adjusted R-squared:  0.1651 
F-statistic: 9.044 on 3 and 119 DF,  p-value: 1.925e-05

Call:
lm(formula = y ~ SWV + m_led + m_a1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-4.998 -1.306 -0.468  2.124  4.368 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 85.424160  19.852216   4.303 0.000482 ***
SWV         -0.019193   0.004654  -4.124 0.000710 ***
m_led       -0.030850   0.013088  -2.357 0.030671 *  
m_a1        -0.037591   0.027061  -1.389 0.182732    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.854 on 17 degrees of freedom
Multiple R-squared:  0.5409,    Adjusted R-squared:  0.4598 
F-statistic: 6.676 on 3 and 17 DF,  p-value: 0.003523

Call:
lm(formula = y ~ SWV + m_ovality + density + m_taper + m_a2 + 
    m_a1, data = LL)

Residuals:
   Min     1Q Median     3Q    Max 
-9.588 -3.326 -0.567  2.560 17.202 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  5.375e+01  1.099e+01   4.891 3.35e-06 ***
SWV         -8.798e-03  2.102e-03  -4.186 5.65e-05 ***
m_ovality    1.686e+03  6.535e+02   2.580  0.01116 *  
density     -1.189e-02  6.972e-03  -1.706  0.09078 .  
m_taper     -5.683e+00  1.801e+00  -3.155  0.00205 ** 
m_a2         1.152e+00  3.796e-01   3.035  0.00299 ** 
m_a1         1.124e+00  3.784e-01   2.971  0.00363 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.035 on 113 degrees of freedom
Multiple R-squared:  0.2349,    Adjusted R-squared:  0.1943 
F-statistic: 5.782 on 6 and 113 DF,  p-value: 2.798e-05

Call:
lm(formula = y ~ SWV + m_ovality + m_whorliness + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-8.6264 -3.4477  0.5074  3.2217  8.9738 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)   
(Intercept)   7.653e+01  2.348e+01   3.259  0.00493 **
SWV          -2.095e-02  6.073e-03  -3.450  0.00330 **
m_ovality     2.487e+03  1.402e+03   1.774  0.09516 . 
m_whorliness  1.026e+01  6.823e+00   1.504  0.15196   
m_taper      -5.549e-01  4.160e-01  -1.334  0.20094   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.517 on 16 degrees of freedom
Multiple R-squared:  0.5431,    Adjusted R-squared:  0.4289 
F-statistic: 4.755 on 4 and 16 DF,  p-value: 0.01015

Call:
lm(formula = y ~ SWV + density + m_taper, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-10.252  -3.351  -1.038   2.422  29.742 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 79.129663  14.626657   5.410 4.12e-07 ***
SWV         -0.010528   0.002726  -3.862 0.000197 ***
density     -0.031996   0.009811  -3.261 0.001505 ** 
m_taper     -0.506055   0.223307  -2.266 0.025531 *  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 6.205 on 103 degrees of freedom
Multiple R-squared:  0.1841,    Adjusted R-squared:  0.1603 
F-statistic: 7.746 on 3 and 103 DF,  p-value: 0.0001026

Call:
lm(formula = y ~ SWV + m_a0 + m_whorliness + m_volume + m_a1 + 
    m_ovality, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-6.9359 -2.5266 -0.0042  2.4552  9.4142 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)   2.323e+02  4.865e+01   4.774 0.000363 ***
SWV          -3.532e-02  9.040e-03  -3.907 0.001802 ** 
m_a0         -4.652e-01  1.356e-01  -3.431 0.004466 ** 
m_whorliness -1.779e+01  6.605e+00  -2.693 0.018431 *  
m_volume      1.329e+02  4.595e+01   2.892 0.012603 *  
m_a1         -8.754e-02  5.657e-02  -1.547 0.145766    
m_ovality    -1.721e+03  1.343e+03  -1.281 0.222523    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 5.185 on 13 degrees of freedom
Multiple R-squared:  0.6826,    Adjusted R-squared:  0.5361 
F-statistic:  4.66 on 6 and 13 DF,  p-value: 0.009669

Call:
lm(formula = y ~ SWV + m_led + density + m_sweep1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-3.4066 -1.2787 -0.0760  0.9479  4.7106 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.4492981  3.6590429   4.222 4.78e-05 ***
SWV         -0.0037534  0.0006806  -5.515 2.09e-07 ***
m_led       -0.0134794  0.0022060  -6.110 1.32e-08 ***
density      0.0055963  0.0023843   2.347   0.0206 *  
m_sweep1    -0.4608379  0.2696113  -1.709   0.0900 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.715 on 118 degrees of freedom
Multiple R-squared:  0.3499,    Adjusted R-squared:  0.3278 
F-statistic: 15.88 on 4 and 118 DF,  p-value: 2.005e-10

Call:
lm(formula = y ~ SWV + m_volume + hw.vfrac + m_a0 + m_whorliness + 
    m_waist + m_sed + m_sweep2 + density + sweep.prod + m_ovality, 
    data = LL)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.22517 -0.18091  0.05231  0.22905  0.80571 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)  
(Intercept)   -7.150396   8.664772  -0.825   0.4306  
SWV           -0.001603   0.001525  -1.051   0.3205  
m_volume     -20.807832   7.825540  -2.659   0.0261 *
hw.vfrac      -7.508999   3.810176  -1.971   0.0802 .
m_a0           0.121667   0.043562   2.793   0.0210 *
m_whorliness  -2.850101   1.158557  -2.460   0.0362 *
m_waist       -1.691958   0.697578  -2.425   0.0383 *
m_sed         -0.072499   0.047428  -1.529   0.1607  
m_sweep2      11.510867   5.641293   2.040   0.0717 .
density        0.011075   0.004949   2.238   0.0520 .
sweep.prod    -3.620607   2.198351  -1.647   0.1340  
m_ovality    302.192245 204.333071   1.479   0.1733  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.7081 on 9 degrees of freedom
Multiple R-squared:  0.9034,    Adjusted R-squared:  0.7854 
F-statistic: 7.653 on 11 and 9 DF,  p-value: 0.002479

Call:
lm(formula = y ~ SWV + m_led + density + m_a0 + m_sweep1, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-5.0033 -1.6639 -0.0643  1.3943  6.1180 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept) 15.8020819  5.1682682   3.058 0.002766 ** 
SWV         -0.0042191  0.0009682  -4.358 2.84e-05 ***
m_led       -0.0582205  0.0171397  -3.397 0.000932 ***
density      0.0120244  0.0032843   3.661 0.000378 ***
m_a0         0.0419754  0.0178312   2.354 0.020237 *  
m_sweep1    -0.7225779  0.3724343  -1.940 0.054768 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 2.363 on 117 degrees of freedom
Multiple R-squared:  0.3614,    Adjusted R-squared:  0.3341 
F-statistic: 13.24 on 5 and 117 DF,  p-value: 3.178e-10

Call:
lm(formula = y ~ SWV + m_led + m_a0 + m_volume + hw.vfrac + m_a1 + 
    m_taper + m_sed + m_ovality + weight + m_sweep2, data = LL)

Residuals:
    Min      1Q  Median      3Q     Max 
-1.0257 -0.2653  0.0567  0.2088  0.8871 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)   8.910779   7.124306   1.251 0.242560    
SWV          -0.004349   0.001520  -2.861 0.018759 *  
m_led        -0.230182   0.065158  -3.533 0.006387 ** 
m_a0          0.444609   0.084431   5.266 0.000517 ***
m_volume    -44.248323   7.826131  -5.654 0.000312 ***
hw.vfrac    -10.502085   3.795079  -2.767 0.021850 *  
m_a1          0.025611   0.008233   3.111 0.012506 *  
m_taper       0.871711   0.300456   2.901 0.017558 *  
m_sed        -0.132019   0.046809  -2.820 0.020035 *  
m_ovality   444.467901 201.077124   2.210 0.054407 .  
weight        0.010705   0.006724   1.592 0.145837    
m_sweep2      1.135885   1.126322   1.008 0.339562    
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.6891 on 9 degrees of freedom
Multiple R-squared:  0.9535,    Adjusted R-squared:  0.8967 
F-statistic: 16.78 on 11 and 9 DF,  p-value: 0.0001121

4 Conclusions

Best off using a dynamic estimate of board stiffness based on manual hitman velocity and CHH total density, but other measures of board stiffness (including Metriguard CLT) give similar results.

Green log SWV alone very poorly predicts average dry board stiffness.

Distance from pith at LE has limitations as a predictor for average distance from the pith throughout a board.

The saw pattern plots above indicate that there are a lot of boards missing from the dataset. While in routine operation this is ineveitable (and hence an unaviodable if log performance is to be predicted) in a research context this adds extra confusion owing to the boards being missing to different degrees in different logs and the missing boards being clustered (rather than randomly distributed) within individual logs.

5 Todo